Class: FlexCommerce::ParamToShql
- Inherits:
-
Object
- Object
- FlexCommerce::ParamToShql
- Defined in:
- app/services/param_to_shql.rb
Instance Method Summary collapse
-
#call ⇒ Object
call.
-
#initialize(filter_param) ⇒ ParamToShql
constructor
initialize.
Constructor Details
#initialize(filter_param) ⇒ ParamToShql
initialize
20 21 22 |
# File 'app/services/param_to_shql.rb', line 20 def initialize(filter_param) @filter_param = filter_param end |
Instance Method Details
#call ⇒ Object
call
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'app/services/param_to_shql.rb', line 28 def call return {} unless @filter_param facet_filters = [] @filter_param.each do |label,facet| facet_filter = [] if (facet.keys & ['lt', 'lte', 'gt', 'gte']).any? range_filter = range_param_to_shql(label, facet) facet_filter << range_filter if !(range_filter == "" || range_filter == nil) else facet.keys.each do |value| facet_filter << { label => { "eq" => value } } end end facet_filters << { "or" => facet_filter } end facet_filters.count == 1 ? facet_filters.first : { "and" => facet_filters } end |