Module: HotelsPro::Api::ApiParams
- Included in:
- ApiMethod, Elements::Filter, Elements::LeadTraveller, Elements::Pax, Methods::CancelHotelBooking, Methods::GetBalance, Methods::GetHotelBookingStatus, Methods::GetHotelCancellationPolicy
- Defined in:
- lib/hotels_pro/api/api_params.rb
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_params ⇒ Object
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 |