class UriQueryMerger

Attributes

params[R]
uri[R]

Public Class Methods

new(uri, params) click to toggle source
# File lib/uri_query_merger.rb, line 5
def initialize(uri, params)
  @params = params
  @uri    = uri
end

Public Instance Methods

merge() click to toggle source
# File lib/uri_query_merger.rb, line 10
def merge
  new_uri = URI.parse(uri)
  new_uri.query = merged_query
  new_uri.to_s
end

Private Instance Methods

merged_query() click to toggle source
# File lib/uri_query_merger.rb, line 18
def merged_query
  new_query = params.stringify_keys
  new_query = new_query.reverse_merge(CGI.parse(URI.parse(uri).query)) if URI.parse(uri).query.present?
  URI.encode_www_form(new_query.to_a)
end