module ActiveExtend::ActiveDisablable

Public Class Methods

included(base) click to toggle source
# File lib/active_extend/active_disablable.rb, line 7
def self.included(base)
  base.extend(ClassMethods)
  base.send(:default_scope) { base.where(:enabled => true) }
end

Public Instance Methods

destroy() click to toggle source
Calls superclass method
# File lib/active_extend/active_disablable.rb, line 41
def destroy
  if (@destroy_fully || self.disabled?)
    super
  else
    disable
    self.save
  end
end
destroy_fully() click to toggle source
# File lib/active_extend/active_disablable.rb, line 55
def destroy_fully
  @destroy_fully = true
  self.destroy
end
disable() click to toggle source
# File lib/active_extend/active_disablable.rb, line 25
def disable
  self.enabled = false
end
disabled?() click to toggle source
# File lib/active_extend/active_disablable.rb, line 37
def disabled?
  !self.enabled
end
enable() click to toggle source
# File lib/active_extend/active_disablable.rb, line 29
def enable
  self.enabled = true
end
enabled?() click to toggle source
# File lib/active_extend/active_disablable.rb, line 33
def enabled?
  self.enabled
end
recovery() click to toggle source
# File lib/active_extend/active_disablable.rb, line 50
def recovery
  enable
  self.save
end