Module: StarkInfra::Utils::URL

Defined in:
lib/utils/url.rb

Class Method Summary collapse

Class Method Details

.urlencode(params) ⇒ Object

generates query string from hash

[View source]

9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/utils/url.rb', line 9

def self.urlencode(params)
  return '' if params.nil?

  params = StarkInfra::Utils::API.cast_json_to_api_format(params)
  return '' if params.empty?

  string_params = {}
  params.each do |key, value|
    string_params[key] = value.is_a?(Array) ? value.join(',') : value
  end

  query_list = []
  string_params.each do |key, value|
    query_list << "#{key}=#{ERB::Util.url_encode(value)}"
  end
  '?' + query_list.join('&')
end