Module: HotelsPro::Api::ApiParams

Instance Method Summary collapse

Instance Method Details

#api_param_name(attribute) ⇒ Object



15
16
17
# File 'lib/hotels_pro/api/api_params.rb', line 15

def api_param_name(attribute)
  attribute.to_s.camelize(:lower)
end

#api_param_value(value) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/hotels_pro/api/api_params.rb', line 19

def api_param_value(value)
  case value
  when Array
    value.map{ |element| api_param_value(element) }
  else
    value.respond_to?(:to_api_params) ? value.to_api_params : value.to_s
  end
end

#to_api_paramsObject



6
7
8
9
10
11
12
13
# File 'lib/hotels_pro/api/api_params.rb', line 6

def to_api_params
  (attributes || []).inject({}) do |params, (k, v)|
    unless v.nil? or (v.respond_to?(:empty?) and v.empty?)
      params[api_param_name(k)] = api_param_value(v)
    end
    params
  end
end