Class: Io::Flow::V0::Models::ShippingLane
- Inherits:
-
Object
- Object
- Io::Flow::V0::Models::ShippingLane
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Instance Attribute Summary collapse
-
#centers ⇒ Object
readonly
Returns the value of attribute centers.
-
#direction ⇒ Object
readonly
Returns the value of attribute direction.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#preference ⇒ Object
readonly
Returns the value of attribute preference.
-
#query ⇒ Object
readonly
Returns the value of attribute query.
-
#region ⇒ Object
readonly
Returns the value of attribute region.
-
#shipping_configuration ⇒ Object
readonly
Returns the value of attribute shipping_configuration.
-
#strategy ⇒ Object
readonly
Returns the value of attribute strategy.
-
#tiers ⇒ Object
readonly
Returns the value of attribute tiers.
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ ShippingLane
constructor
A new instance of ShippingLane.
- #to_hash ⇒ Object
- #to_json ⇒ Object
Constructor Details
#initialize(incoming = {}) ⇒ ShippingLane
Returns a new instance of ShippingLane.
66706 66707 66708 66709 66710 66711 66712 66713 66714 66715 66716 66717 66718 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66706 def initialize(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:id, :shipping_configuration, :region, :centers, :tiers, :query], 'ShippingLane') @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String) @shipping_configuration = (x = opts.delete(:shipping_configuration); x.is_a?(::Io::Flow::V0::Models::ShippingConfigurationReference) ? x : ::Io::Flow::V0::Models::ShippingConfigurationReference.new(x)) @region = HttpClient::Preconditions.assert_class('region', opts.delete(:region), String) @centers = HttpClient::Preconditions.assert_class('centers', opts.delete(:centers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::ExpandableCenter) ? x : ::Io::Flow::V0::Models::ExpandableCenter.from_json(x)) } @tiers = HttpClient::Preconditions.assert_class('tiers', opts.delete(:tiers), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::Tier) ? x : ::Io::Flow::V0::Models::Tier.new(x)) } @query = (x = opts.delete(:query); x.is_a?(::Io::Flow::V0::Models::Query) ? x : ::Io::Flow::V0::Models::Query.new(x)) @strategy = (x = (x = opts.delete(:strategy); x.nil? ? "oldest" : x); x.is_a?(::Io::Flow::V0::Models::LaneStrategy) ? x : ::Io::Flow::V0::Models::LaneStrategy.apply(x)) @direction = (x = opts.delete(:direction); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LaneDirection) ? x : ::Io::Flow::V0::Models::LaneDirection.apply(x))) @preference = (x = opts.delete(:preference); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LanePreselectPreference) ? x : ::Io::Flow::V0::Models::LanePreselectPreference.apply(x))) end |
Instance Attribute Details
#centers ⇒ Object (readonly)
Returns the value of attribute centers.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def centers @centers end |
#direction ⇒ Object (readonly)
Returns the value of attribute direction.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def direction @direction end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def id @id end |
#preference ⇒ Object (readonly)
Returns the value of attribute preference.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def preference @preference end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def query @query end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def region @region end |
#shipping_configuration ⇒ Object (readonly)
Returns the value of attribute shipping_configuration.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def shipping_configuration @shipping_configuration end |
#strategy ⇒ Object (readonly)
Returns the value of attribute strategy.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def strategy @strategy end |
#tiers ⇒ Object (readonly)
Returns the value of attribute tiers.
66704 66705 66706 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66704 def tiers @tiers end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
66724 66725 66726 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66724 def copy(incoming={}) ShippingLane.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
66728 66729 66730 66731 66732 66733 66734 66735 66736 66737 66738 66739 66740 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66728 def to_hash { :id => id, :shipping_configuration => shipping_configuration.to_hash, :region => region, :centers => centers.map { |o| o.to_hash }, :tiers => tiers.map { |o| o.to_hash }, :query => query.to_hash, :strategy => strategy.value, :direction => direction.nil? ? nil : direction.value, :preference => preference.nil? ? nil : preference.value } end |
#to_json ⇒ Object
66720 66721 66722 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66720 def to_json JSON.dump(to_hash) end |