module Activable::Methods
Public Instance Methods
activate(options={})
click to toggle source
# File lib/activable.rb, line 29 def activate(options={}) verify_responsible(options) self.activated_at = Time.now self.activated_by = options[:responsible] if self.activable_config[:has_responsible] end
activate!(options={})
click to toggle source
# File lib/activable.rb, line 41 def activate!(options={}) activate(options) save end
active?()
click to toggle source
# File lib/activable.rb, line 24 def active? return true unless self.activated_at && self.deactivated_at self.activated_at >= self.deactivated_at end
deactivate(options={})
click to toggle source
# File lib/activable.rb, line 35 def deactivate(options={}) verify_responsible(options) self.deactivated_at = Time.now self.deactivated_by = options[:responsible] if self.activable_config[:has_responsible] end
deactivate!(options={})
click to toggle source
# File lib/activable.rb, line 46 def deactivate!(options={}) deactivate(options) save end
init_active()
click to toggle source
# File lib/activable.rb, line 20 def init_active self.activated_at = Time.now end
Protected Instance Methods
verify_responsible(options)
click to toggle source
# File lib/activable.rb, line 68 def verify_responsible(options) if self.activable_config[:has_responsible] resp = options && options[:responsible] if !resp raise "You must provide a responsible to activate a " + self.class.name elsif resp.class.name != self.activable_config[:responsible] raise "Object of type #{resp.class.name} is not a " + self.activable_config[:responsible] end end end