class MongoidAbility::LocksDecorator
adds scope-like methods on top of an Array containing locks
Public Instance Methods
class_locks()
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 37 def class_locks compact.select(&:class_lock?) end
for_action(action)
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 5 def for_action(action) compact.select do |lock| lock.action == action.to_sym end end
for_subject(subject)
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 30 def for_subject(subject) compact.select do |lock| lock.subject_type == subject.class.model_name && lock.subject_id == subject.id end end
for_subject_id(subject_id)
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 24 def for_subject_id(subject_id) compact.select do |lock| lock.subject_id == BSON::ObjectId.from_string(subject_id) end end
for_subject_type(subject_type)
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 11 def for_subject_type(subject_type) compact.select do |lock| lock.subject_type == subject_type.to_s end end
for_subject_types(subject_types)
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 17 def for_subject_types(subject_types) subject_types = Array(subject_types).map(&:to_s) compact.select do |lock| subject_types.include?(lock.subject_type) end end
id_locks()
click to toggle source
# File lib/mongoid_ability/locks_decorator.rb, line 41 def id_locks compact.select(&:id_lock?) end