Class: Triggerable::Conditions::PredicateCondition
- Defined in:
- lib/triggerable/conditions/predicate/predicate_condition.rb
Instance Attribute Summary collapse
-
#conditions ⇒ Object
Returns the value of attribute conditions.
Instance Method Summary collapse
-
#initialize(conditions) ⇒ PredicateCondition
constructor
A new instance of PredicateCondition.
- #scope(table) ⇒ Object
Methods inherited from Condition
Constructor Details
#initialize(conditions) ⇒ PredicateCondition
Returns a new instance of PredicateCondition.
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/triggerable/conditions/predicate/predicate_condition.rb', line 6 def initialize conditions @conditions = conditions.map do |condition| unless condition.is_a?(Hash) condition else field = condition.keys.first statement = condition.values.first Condition.build({field => statement}) end end end |
Instance Attribute Details
#conditions ⇒ Object
Returns the value of attribute conditions.
4 5 6 |
# File 'lib/triggerable/conditions/predicate/predicate_condition.rb', line 4 def conditions @conditions end |
Instance Method Details
#scope(table) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/triggerable/conditions/predicate/predicate_condition.rb', line 19 def scope table predicate_scope = nil @conditions.each_with_index do |condition, index| condition_scope = condition.scope(table) predicate_scope = if index.zero? condition_scope else predicate_scope.send(predicate_name, condition_scope) end end predicate_scope end |