Class: MongoidAbility::FindLock::FindOwnedLock
- Inherits:
-
MongoidAbility::FindLock
- Object
- Struct
- MongoidAbility::FindLock
- MongoidAbility::FindLock::FindOwnedLock
- Defined in:
- lib/mongoid_ability/find_lock.rb
Instance Attribute Summary
Attributes inherited from MongoidAbility::FindLock
#action, #options, #owner, #subject_id, #subject_type
Instance Method Summary collapse
Methods inherited from MongoidAbility::FindLock
Constructor Details
This class inherits a constructor from MongoidAbility::FindLock
Instance Method Details
#call ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/mongoid_ability/find_lock.rb', line 57 def call return unless owner.respond_to?(:locks_relation) locks = owner.locks_relation.for_action(action).for_subject_type(subject_type) if subject_id.present? lock = locks.for_subject_id(subject_id).detect(&:closed?) || locks.for_subject_id(subject_id).detect(&:open?) return lock unless lock.nil? end locks.class_locks.detect(&:closed?) || locks.class_locks.detect(&:open?) end |