class MongoidAbility::FindLock
finds first lock that controls specified params
Public Class Methods
call(*args)
click to toggle source
# File lib/mongoid_ability/find_lock.rb, line 5 def self.call(*args) new(*args).call end
new(owner, action, subject_type, subject_id = nil, options = {})
click to toggle source
Calls superclass method
# File lib/mongoid_ability/find_lock.rb, line 9 def initialize(owner, action, subject_type, subject_id = nil, options = {}) super(owner, action, subject_type.to_s, subject_id, options) end
Public Instance Methods
call()
click to toggle source
# File lib/mongoid_ability/find_lock.rb, line 13 def call lock = nil subject_class.self_and_ancestors_with_default_locks.each do |cls| break if lock = FindOwnedLock.call(owner, action, cls, subject_id, options) break if lock = FindInheritedLock.call(owner, action, cls, subject_id, options) break if lock = FindDefaultLock.call(owner, action, cls, subject_id, options) end lock end
Private Instance Methods
subject_class()
click to toggle source
# File lib/mongoid_ability/find_lock.rb, line 25 def subject_class subject_type.constantize end