class Getto::Params::Search::Query
Public Class Methods
new(query:)
click to toggle source
# File lib/getto/params/search.rb, line 97 def initialize(query:) @query = query end
Public Instance Methods
to_h(convert:, check:)
click to toggle source
# 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