class Skala::Adapter::Search::Request
Public Class Methods
facet_factory(value)
click to toggle source
# File lib/skala/adapter/search/request.rb, line 78 def self.facet_factory(value) factory(:facet).call(value) end
factory(postfix)
click to toggle source
helpers to implement facets/queries setters
# File lib/skala/adapter/search/request.rb, line 66 def self.factory(postfix) # e.g. :facet or :query which turns to "#{type}_#{postfix}", e.g. "match_query" or "range_facet" -> (value) do class_name = "#{value[:type] || value["type"]}_#{postfix}".classify if const_defined?(class_name) const_get(class_name).new(value) else raise ArgumentError.new("Unknown #{postfix} type!") end end end
query_factory(value)
click to toggle source
# File lib/skala/adapter/search/request.rb, line 82 def self.query_factory(value) factory(:query).call(value) end
Public Instance Methods
facet_queries=(value)
click to toggle source
override (facet_)queries setters in order to determine query type
Calls superclass method
# File lib/skala/adapter/search/request.rb, line 43 def facet_queries=(value) if sanitized_value = [value].flatten(1).compact.presence mapped_values = sanitized_value.map do |_element| _element.is_a?(Hash) ? self.class.query_factory(_element) : _element end super(mapped_values) end end
facets=(value)
click to toggle source
override facet setter in order to determine facet type
Calls superclass method
# File lib/skala/adapter/search/request.rb, line 32 def facets=(value) if sanitized_value = [value].flatten(1).compact.presence mapped_values = sanitized_value.map do |_element| _element.is_a?(Hash) ? self.class.facet_factory(_element) : _element end super(mapped_values) end end
queries=(value)
click to toggle source
Calls superclass method
# File lib/skala/adapter/search/request.rb, line 53 def queries=(value) if sanitized_value = [value].flatten(1).compact.presence mapped_values = sanitized_value.map do |_element| _element.is_a?(Hash) ? self.class.query_factory(_element) : _element end super(mapped_values) end end
to_param(*)
click to toggle source
TODO: move to frontend
# File lib/skala/adapter/search/request.rb, line 87 def to_param(*) # binding.pry to_json end