module Capable::ActsAsCapability::ClassMethods
Public Instance Methods
acts_as_capability()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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