Module: Booker::RequestHelper

Included in:
Client, V41::Customer, V41::Merchant, V4::BusinessREST, V4::CommonREST, V5::Availability
Defined in:
lib/booker/request_helper.rb

Constant Summary collapse

DEFAULT_PAGINATION_PARAMS =
{
    UsePaging: true,
    PageSize: Integer(ENV['BOOKER_DEFAULT_PAGE_SIZE'] || 10),
    PageNumber: 1
}

Instance Method Summary collapse

Instance Method Details

#build_params(default_params = {}, overrides = {}, paginated = false) ⇒ Object



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

def build_params(default_params={}, overrides={}, paginated=false)
  default_params.symbolize_keys!
  overrides.symbolize_keys!
  merged = {access_token: access_token}.merge(default_params.merge(overrides))

  merged.each do |k, v|
    if v.is_a?(Time) || v.is_a?(DateTime)
      merged[k] = Booker::V4::Models::Model.time_to_booker_datetime(v)
    elsif v.is_a?(Date)
      merged[k] = Booker::V4::Models::Model.time_to_booker_datetime(v.in_time_zone)
    end
  end

  if paginated
    DEFAULT_PAGINATION_PARAMS.merge(merged)
  else
    merged
  end
end