Module: StringTools::Uri

Included in:
StringTools
Defined in:
lib/string_tools.rb

Instance Method Summary collapse

Instance Method Details

#add_params_to_url(url, params = nil, options = {normalize: true}) ⇒ Object



258
259
260
261
262
263
264
265
266
267
268
# File 'lib/string_tools.rb', line 258

def add_params_to_url(url, params = nil, options = {normalize: true})
  uri = Addressable::URI.parse(url)
  uri = Addressable::URI.parse("http://#{url}") unless uri.scheme
  uri.query_values = (uri.query_values || {}).merge!(params.stringify_keys) if params.present?

  uri.normalize! if options[:normalize]

  uri.to_s
rescue Addressable::URI::InvalidURIError
  nil
end