module Solr4R::RequestUriExtension
Attributes
params[RW]
Public Instance Methods
with_params(params)
click to toggle source
# File lib/solr4r/uri_extension.rb 42 def with_params(params) 43 self.params, query = params, [self.query].compact 44 45 params.each { |key, value| query_pairs(key, value).each { |k, v| 46 query << "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" 47 } } 48 49 self.query = query.join('&') unless query.empty? 50 51 self 52 end
Private Instance Methods
query_pairs(key, value, pairs = [])
click to toggle source
# File lib/solr4r/uri_extension.rb 56 def query_pairs(key, value, pairs = []) 57 if value.is_a?(Hash) 58 kv = value.fetch(vk = :_, true) and pairs << [key, kv] 59 60 value.each { |sub, val| 61 query_pairs("#{key}.#{sub}", val, pairs) unless sub == vk } 62 else 63 Array(value).each { |val| pairs << [key, val] unless val.nil? } 64 end 65 66 pairs 67 end