Module: Capable::ActsAsCapability::ClassMethods
- Defined in:
- lib/acts_as_capability.rb
Instance Method Summary collapse
- #acts_as_capability ⇒ Object
- #create_capability(capable, ability, active = true, expires_at = nil, renewer = nil) ⇒ Object
- #expire_capabilities(expiration_date) ⇒ Object
Instance Method Details
#acts_as_capability ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/acts_as_capability.rb', line 11 def acts_as_capability belongs_to :ability belongs_to :capable, :polymorphic => true belongs_to :renewer, :polymorphic => true after_create :update_capables after_update :update_capables include Capable::ActsAsCapability::InstanceMethods end |
#create_capability(capable, ability, active = true, expires_at = nil, renewer = nil) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/acts_as_capability.rb', line 22 def create_capability(capable, ability, active=true, expires_at=nil, renewer=nil) create( capable: capable, ability: ability, active: active, expires_at: expires_at, renewer: renewer ) end |
#expire_capabilities(expiration_date) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/acts_as_capability.rb', line 32 def expire_capabilities(expiration_date) self.where('expires_at is not null and expires_at < ? and active = ?', expiration_date, true).find_each do |capability| puts "CAPABILITY_EXPIRE: Capable #{capability.capable_type} (#{capability.capable_id}) expired the ability #{capability.ability.name}" if Capable.configuration[:verbose] capability.active = false capability.save! end end |