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.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#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.
44882 44883 44884 44885 44886 44887 44888 44889 44890 44891 44892 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44882 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)) end |
Instance Attribute Details
#centers ⇒ Object (readonly)
Returns the value of attribute centers.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def centers @centers end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def id @id end |
#query ⇒ Object (readonly)
Returns the value of attribute query.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def query @query end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def region @region end |
#shipping_configuration ⇒ Object (readonly)
Returns the value of attribute shipping_configuration.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def shipping_configuration @shipping_configuration end |
#strategy ⇒ Object (readonly)
Returns the value of attribute strategy.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def strategy @strategy end |
#tiers ⇒ Object (readonly)
Returns the value of attribute tiers.
44880 44881 44882 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44880 def tiers @tiers end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
44898 44899 44900 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44898 def copy(incoming={}) ShippingLane.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#to_hash ⇒ Object
44902 44903 44904 44905 44906 44907 44908 44909 44910 44911 44912 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44902 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 } end |
#to_json ⇒ Object
44894 44895 44896 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 44894 def to_json JSON.dump(to_hash) end |