Class: Io::Flow::V0::Clients::OrderEstimates
- Inherits:
-
Object
- Object
- Io::Flow::V0::Clients::OrderEstimates
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Method Summary collapse
- #get_by_id(organization, id) ⇒ Object
-
#initialize(client) ⇒ OrderEstimates
constructor
A new instance of OrderEstimates.
-
#post(organization, order_estimate_form, incoming = {}) ⇒ Object
Create an order estimate, using the localized information from the experience selected by the query parameters.
- #put_by_id(organization, id, order_estimate_form, incoming = {}) ⇒ Object
Constructor Details
#initialize(client) ⇒ OrderEstimates
Returns a new instance of OrderEstimates.
1169 1170 1171 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1169 def initialize(client) @client = HttpClient::Preconditions.assert_class('client', client, ::Io::Flow::V0::Client) end |
Instance Method Details
#get_by_id(organization, id) ⇒ Object
1192 1193 1194 1195 1196 1197 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1192 def get_by_id(organization, id) HttpClient::Preconditions.assert_class('organization', organization, String) HttpClient::Preconditions.assert_class('id', id, String) r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(id)}").get ::Io::Flow::V0::Models::Experience.new(r) end |
#post(organization, order_estimate_form, incoming = {}) ⇒ Object
Create an order estimate, using the localized information from the experience selected by the query parameters. This is similar to the POST orders endpoint, except this just returns an estimate and cannot be submitted.
1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1177 def post(organization, order_estimate_form, incoming={}) HttpClient::Preconditions.assert_class('organization', organization, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)), :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)), :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)), :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)), :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)) }.delete_if { |k, v| v.nil? } (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x)) r = @client.request("/#{CGI.escape(organization)}/order-estimates").with_query(query).with_json(order_estimate_form.to_json).post ::Io::Flow::V0::Models::OrderEstimate.new(r) end |
#put_by_id(organization, id, order_estimate_form, incoming = {}) ⇒ Object
1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 1199 def put_by_id(organization, id, order_estimate_form, incoming={}) HttpClient::Preconditions.assert_class('organization', organization, String) HttpClient::Preconditions.assert_class('id', id, String) opts = HttpClient::Helper.symbolize_keys(incoming) query = { :experience => (x = opts.delete(:experience); x.nil? ? nil : HttpClient::Preconditions.assert_class('experience', x, String)), :country => (x = opts.delete(:country); x.nil? ? nil : HttpClient::Preconditions.assert_class('country', x, String)), :ip => (x = opts.delete(:ip); x.nil? ? nil : HttpClient::Preconditions.assert_class('ip', x, String)), :currency => (x = opts.delete(:currency); x.nil? ? nil : HttpClient::Preconditions.assert_class('currency', x, String)), :language => (x = opts.delete(:language); x.nil? ? nil : HttpClient::Preconditions.assert_class('language', x, String)) }.delete_if { |k, v| v.nil? } (x = order_estimate_form; x.is_a?(::Io::Flow::V0::Models::OrderEstimateForm) ? x : ::Io::Flow::V0::Models::OrderEstimateForm.new(x)) r = @client.request("/#{CGI.escape(organization)}/order-estimates/#{CGI.escape(id)}").with_query(query).with_json(order_estimate_form.to_json).put ::Io::Flow::V0::Models::OrderEstimate.new(r) end |