Module: Pagy::StandaloneExtra::QueryUtils
- Defined in:
- lib/pagy/extras/standalone.rb
Overview
Extracted from Rack::Utils and reformatted for rubocop :nocov:
Class Method Summary collapse
Class Method Details
.build_nested_query(value, prefix = nil) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/pagy/extras/standalone.rb', line 19 def build_nested_query(value, prefix = nil) case value when Array value.map { |v| build_nested_query(v, "#{prefix}[]") }.join('&') when Hash value.map do |k, v| build_nested_query(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k)) end.delete_if(&:empty?).join('&') when nil prefix else raise ArgumentError, 'value must be a Hash' if prefix.nil? "#{prefix}=#{escape(value)}" end end |
.escape(str) ⇒ Object
15 16 17 |
# File 'lib/pagy/extras/standalone.rb', line 15 def escape(str) URI.encode_www_form_component(str) end |