Class: Io::Flow::V0::Clients::ExperiencePriceFacetConversions

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ ExperiencePriceFacetConversions

Returns a new instance of ExperiencePriceFacetConversions.



1628
1629
1630
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1628

def initialize(client)
  @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client)
end

Instance Method Details

#get(organization, experience_key, incoming = {}) ⇒ Object

Converts one or more price values into local currency, rounding for display in price facets. A common use case is to say show a price filter to consumers (e.g. 10-20 USD) and want to display that in local currency (15-30 CAD). To do so, send the values ‘10’ and ‘20’ to this API which will return the rounded local currency facet values



1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1637

def get(organization, experience_key, incoming={})
  HttpClient::Preconditions.assert_class('organization', organization, String)
  HttpClient::Preconditions.assert_class('experience_key', experience_key, String)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  query = {
    :base => (x = opts.delete(:base); x.nil? ? nil : HttpClient::Preconditions.assert_class('base', x, String)),
    :local => (x = opts.delete(:local); x.nil? ? nil : HttpClient::Preconditions.assert_class('local', x, String)),
    :min => (x = opts.delete(:min); x.nil? ? nil : HttpClient::Preconditions.assert_class('min', x, Array).map { |v| HttpClient::Preconditions.assert_class('min', v, String) }),
    :max => (x = opts.delete(:max); x.nil? ? nil : HttpClient::Preconditions.assert_class('max', x, Array).map { |v| HttpClient::Preconditions.assert_class('max', v, String) })
  }.delete_if { |k, v| v.nil? }
  r = @client.request("/#{CGI.escape(organization)}/experiences/#{CGI.escape(experience_key)}/conversions/price/facet").with_query(query).get
  ::Io::Flow::V0::Models::ExperiencePriceFacetConversionResponse.new(r)
end