Module: ModelSet::Conditioned
- Included in:
- SQLQuery, SolrQuery, SphinxQuery
- Defined in:
- lib/model_set/conditioned.rb
Instance Attribute Summary collapse
-
#conditions ⇒ Object
Shared methods for dealing with conditions.
Instance Method Summary collapse
Instance Attribute Details
#conditions ⇒ Object
Shared methods for dealing with conditions.
4 5 6 |
# File 'lib/model_set/conditioned.rb', line 4 def conditions @conditions end |
Instance Method Details
#add_conditions!(*conditions) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/model_set/conditioned.rb', line 6 def add_conditions!(*conditions) new_conditions = conditions.first.kind_of?(Symbol) ? [conditions.shift] : [] conditions.each do |condition| if condition.kind_of?(Conditions) new_conditions << condition else new_conditions.concat([*transform_condition(condition)]) end end return self if new_conditions.empty? @conditions = to_conditions(*new_conditions) << @conditions clear_cache! end |
#invert! ⇒ Object
26 27 28 29 30 |
# File 'lib/model_set/conditioned.rb', line 26 def invert! raise 'cannot invert without conditions' if @conditions.nil? @conditions = ~@conditions clear_cache! end |
#to_conditions(*conditions) ⇒ Object
22 23 24 |
# File 'lib/model_set/conditioned.rb', line 22 def to_conditions(*conditions) Conditions.new(conditions, condition_ops) end |