Module: MongoidHashQuery::FieldFilters
- Included in:
- FilterApplier
- Defined in:
- lib/mongoid_hash_query/field_filters.rb
Instance Method Summary collapse
- #filter_array(resource, field, param) ⇒ Object
- #filter_big_decimal(resource, field, param) ⇒ Object
- #filter_boolean(resource, field, param) ⇒ Object
- #filter_date(resource, field, param) ⇒ Object
- #filter_date_time(resource, field, param) ⇒ Object
- #filter_float(resource, field, param) ⇒ Object
- #filter_hash(resource, field, param) ⇒ Object
- #filter_integer(resource, field, param) ⇒ Object
- #filter_primary(resource, field, param) ⇒ Object
- #filter_string(resource, field, param) ⇒ Object
- #filter_symbol(resource, field, param) ⇒ Object
- #filter_time(resource, field, param) ⇒ Object
Instance Method Details
#filter_array(resource, field, param) ⇒ Object
6 7 8 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 6 def filter_array(resource, field, param) return resource end |
#filter_big_decimal(resource, field, param) ⇒ Object
10 11 12 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 10 def filter_big_decimal(resource, field, param) return filter_integer(resource, field, param) end |
#filter_boolean(resource, field, param) ⇒ Object
14 15 16 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 14 def filter_boolean(resource, field, param) return resource.where(field => param) end |
#filter_date(resource, field, param) ⇒ Object
18 19 20 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 18 def filter_date(resource, field, param) return filter_time(resource, field, param) end |
#filter_date_time(resource, field, param) ⇒ Object
22 23 24 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 22 def filter_date_time(resource, field, param) return filter_time(resource, field, param) end |
#filter_float(resource, field, param) ⇒ Object
26 27 28 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 26 def filter_float(resource, field, param) return filter_integer(resource, field, param) end |
#filter_hash(resource, field, param) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 30 def filter_hash(resource, field, param) param.each do |k, v| if v.is_a?(Hash) && v[:regex] resource = resource.where("#{field}.#{k}" => Regexp.new(v[:value], v[:ignore_case])) else resource = resource.where("#{field}.#{k}" => v) end end return resource end |
#filter_integer(resource, field, param) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 42 def filter_integer(resource, field, param) if !param.is_a? Hash return resource.where(column => param) else return apply_leq_geq_le_ge_filters(resource, field, param) end end |
#filter_primary(resource, field, param) ⇒ Object
2 3 4 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 2 def filter_primary(resource, field, param) resource = resource.where(id: param) end |
#filter_string(resource, field, param) ⇒ Object
50 51 52 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 50 def filter_string(resource, field, param) return resource.where(field => param) end |
#filter_symbol(resource, field, param) ⇒ Object
54 55 56 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 54 def filter_symbol(resource, field, param) return resource.where(field => param) end |
#filter_time(resource, field, param) ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/mongoid_hash_query/field_filters.rb', line 58 def filter_time(resource, field, param) if !param.is_a? Hash return resource.where(field => param) else return apply_leq_geq_le_ge_filters(resource, field, param) end end |