Class: Getto::Params::Search::Query
- Inherits:
-
Object
- Object
- Getto::Params::Search::Query
- Defined in:
- lib/getto/params/search.rb
Defined Under Namespace
Instance Method Summary collapse
-
#initialize(query:) ⇒ Query
constructor
A new instance of Query.
- #to_h(convert:, check:) ⇒ Object
Constructor Details
#initialize(query:) ⇒ Query
Returns a new instance of Query.
97 98 99 |
# File 'lib/getto/params/search.rb', line 97 def initialize(query:) @query = query end |
Instance Method Details
#to_h(convert:, check:) ⇒ Object
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
# File 'lib/getto/params/search.rb', line 101 def to_h(convert:, check:) converters = {} if convert convert.call Converter.new(converters) end checkers = {} if check check.call Checker.new(checkers) end query = @query.map{|key,search| if converter = converters[key.to_s] [key.to_s, converter.call(search)] else [key.to_s, search] end }.to_h checkers.map{|key,checker| if search = query[key] if checker.call(search) [key, search] end end }.compact.to_h.transform_keys(&:to_sym) end |