Sha256: e1833d7ac3a7316c82ee3571cb769f530d0b053bde3dc226b7fd720e4ac8d9f7
Contents?: true
Size: 781 Bytes
Versions: 2
Compression:
Stored size: 781 Bytes
Contents
require 'devise/orm/active_record' module ActiveDisablable def self.included(base) base.extend(ClassMethods) base.send(:default_scope) { base.where(:enabled => true) } end module ClassMethods def all_include_disabled unscoped end def all_disabled where(:enabled => false) end end def disable self.enabled = false end def enable self.enabled = true end def enabled? self.enabled end def disabled? !self.enabled end def destroy if (@destroy_fully || self.disabled?) super else disable self.save end end def recovery enable self.save end def destroy_fully @destroy_fully = true self.destroy end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
guara-0.0.3 | lib/active_extend/active_disablable.rb |
guara-0.0.1.rc | lib/active_extend/active_disablable.rb |