Module: ActiveAdmin::Favorites::Favorite::QueryParams
- Defined in:
- app/models/active_admin/favorites/favorite/query_params.rb
Class Method Summary collapse
- .build(params) ⇒ Object
- .merge_query_string(query_string, q_overrides:) ⇒ Object
- .parse(query_string) ⇒ Object
- .q_keys_for_macros(macros) ⇒ Object
- .without_q_keys(query_string, keys:) ⇒ Object
Class Method Details
.build(params) ⇒ Object
15 16 17 |
# File 'app/models/active_admin/favorites/favorite/query_params.rb', line 15 def build(params) Rack::Utils.build_nested_query(params.compact_blank).presence end |
.merge_query_string(query_string, q_overrides:) ⇒ Object
19 20 21 22 23 |
# File 'app/models/active_admin/favorites/favorite/query_params.rb', line 19 def merge_query_string(query_string, q_overrides:) params = parse(query_string) params["q"] = (params["q"] || {}).merge(q_overrides.stringify_keys) build(params) end |
.parse(query_string) ⇒ Object
9 10 11 12 13 |
# File 'app/models/active_admin/favorites/favorite/query_params.rb', line 9 def parse(query_string) return {} if query_string.blank? Rack::Utils.parse_nested_query(query_string.to_s).except("commit") end |
.q_keys_for_macros(macros) ⇒ Object
35 36 37 |
# File 'app/models/active_admin/favorites/favorite/query_params.rb', line 35 def q_keys_for_macros(macros) Favorite::MacroResolver.q_keys(macros) end |
.without_q_keys(query_string, keys:) ⇒ Object
25 26 27 28 29 30 31 32 33 |
# File 'app/models/active_admin/favorites/favorite/query_params.rb', line 25 def without_q_keys(query_string, keys:) params = parse(query_string) query_filters = params["q"] return query_string if query_filters.blank? keys.each { |key| query_filters.delete(key.to_s) } params["q"] = query_filters.presence build(params) end |