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



241
242
243
244
245
246
247
248
249
250
251
# File 'lib/string_tools.rb', line 241

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