Class: PcQueues::QueueRuleSet
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- PcQueues::QueueRuleSet
- Defined in:
- lib/pc_queues/queue_rule_set.rb
Overview
A QueueRuleSet is a collection of QueueRules that can is evaluated as an AND/OR clause depending on the value of is_any which indicates an OR
Class Method Summary collapse
-
.accessible_attributes ⇒ Object
attr_accessible :is_any.
Instance Method Summary collapse
- #all_pass?(enqueuable, *args) ⇒ Boolean
- #any_pass?(enqueuable, *args) ⇒ Boolean
- #passes?(enqueuable, *args) ⇒ Boolean
Class Method Details
.accessible_attributes ⇒ Object
attr_accessible :is_any
14 15 16 |
# File 'lib/pc_queues/queue_rule_set.rb', line 14 def self.accessible_attributes [:is_any] end |
Instance Method Details
#all_pass?(enqueuable, *args) ⇒ Boolean
34 35 36 37 |
# File 'lib/pc_queues/queue_rule_set.rb', line 34 def all_pass?(enqueuable, *args) queue_rules.all.each { |rule| return false unless rule.passes?(enqueuable, *args) } true end |
#any_pass?(enqueuable, *args) ⇒ Boolean
29 30 31 32 |
# File 'lib/pc_queues/queue_rule_set.rb', line 29 def any_pass?(enqueuable, *args) queue_rules.all.each { |rule| return true if rule.passes?(enqueuable, *args) } false end |
#passes?(enqueuable, *args) ⇒ Boolean
21 22 23 24 25 26 27 |
# File 'lib/pc_queues/queue_rule_set.rb', line 21 def passes?(enqueuable, *args) if is_any any_pass?(enqueuable, *args) else all_pass?(enqueuable, *args) end end |