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.
49227 49228 49229 49230 49231 49232 49233 49234 49235 49236 49237 49238 49239 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49227 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.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def centers @centers end |
#direction ⇒ Object (readonly)
Returns the value of attribute direction.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def direction @direction end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def id @id end |
#preference ⇒ Object (readonly)
Returns the value of attribute preference.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def preference @preference end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def query @query end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def region @region end |
#shipping_configuration ⇒ Object (readonly)
Returns the value of attribute shipping_configuration.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def shipping_configuration @shipping_configuration end |
#strategy ⇒ Object (readonly)
Returns the value of attribute strategy.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def strategy @strategy end |
#tiers ⇒ Object (readonly)
Returns the value of attribute tiers.
49225 49226 49227 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49225 def tiers @tiers end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
49245 49246 49247 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49245 def copy(incoming={}) ShippingLane.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
49249 49250 49251 49252 49253 49254 49255 49256 49257 49258 49259 49260 49261 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49249 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
49241 49242 49243 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 49241 def to_json JSON.dump(to_hash) end |