Class: Parelation::Criteria::Where
Defined Under Namespace
Classes: Caster, CriteriaBuilder, DirectionalQueryApplier
Instance Attribute Summary
#chain, #param, #value
Class Method Summary
collapse
Instance Method Summary
collapse
#initialize
Class Method Details
.match?(param) ⇒ true, false
11
12
13
|
# File 'lib/parelation/criteria/where.rb', line 11
def self.match?(param)
!!(param =~ /^(where|where_(not|gt|gte|lt|lte))$/)
end
|
Instance Method Details
#call ⇒ ActiveRecord::Relation
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/parelation/criteria/where.rb', line 17
def call
criteria.inject(chain) do |chain, (field, value)|
case param
when "where"
chain.where(field => value)
when "where_not"
chain.where.not(field => value)
when "where_gt", "where_gte", "where_lt", "where_lte"
DirectionalQueryApplier.new(param, criteria, chain).apply
end
end
end
|