Class: Parelation::Criteria::Where::CriteriaBuilder
- Inherits:
-
Object
- Object
- Parelation::Criteria::Where::CriteriaBuilder
- Defined in:
- lib/parelation/criteria/where/criteria_builder.rb
Instance Attribute Summary collapse
- #chain ⇒ ActiveRecord::Relation readonly
- #value ⇒ Hash readonly
Instance Method Summary collapse
-
#build ⇒ Hash
Criteria that can be passed into the
wheremethod of an ActiveRecord::Relation chain. -
#initialize(value, chain) ⇒ CriteriaBuilder
constructor
A new instance of CriteriaBuilder.
Constructor Details
#initialize(value, chain) ⇒ CriteriaBuilder
Returns a new instance of CriteriaBuilder.
14 15 16 17 |
# File 'lib/parelation/criteria/where/criteria_builder.rb', line 14 def initialize(value, chain) @value = value @chain = chain end |
Instance Attribute Details
#chain ⇒ ActiveRecord::Relation (readonly)
9 10 11 |
# File 'lib/parelation/criteria/where/criteria_builder.rb', line 9 def chain @chain end |
#value ⇒ Hash (readonly)
5 6 7 |
# File 'lib/parelation/criteria/where/criteria_builder.rb', line 5 def value @value end |
Instance Method Details
#build ⇒ Hash
Returns criteria that can be passed into the where method of an ActiveRecord::Relation chain.
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/parelation/criteria/where/criteria_builder.rb', line 22 def build value.inject(Hash.new) do |hash, (field, value)| values = [value].flatten if values.count > 1 assign_array(hash, field, values) else assign_value(hash, field, values) end hash end end |