Class: Io::Flow::V0::Models::Delivery
- Inherits:
-
Object
- Object
- Io::Flow::V0::Models::Delivery
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
A delivery represents a group of items that will be delivered together - presenting a single price and delivery time frame, where applicable, to the user. Deliveries commonly are created based on the type of item and, for physical goods, their center of origin
Direct Known Subclasses
Defined Under Namespace
Modules: Types
Instance Attribute Summary collapse
-
#discriminator ⇒ Object
readonly
Returns the value of attribute discriminator.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(incoming = {}) ⇒ Delivery
constructor
A new instance of Delivery.
- #subtype_to_hash ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize(incoming = {}) ⇒ Delivery
Returns a new instance of Delivery.
9610 9611 9612 9613 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9610 def initialize(incoming={}) opts = HttpClient::Helper.symbolize_keys(incoming) @discriminator = HttpClient::Preconditions.assert_class('discriminator', opts.delete(:discriminator) || 'physical_delivery', String) end |
Instance Attribute Details
#discriminator ⇒ Object (readonly)
Returns the value of attribute discriminator.
9608 9609 9610 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9608 def discriminator @discriminator end |
Class Method Details
.from_json(hash) ⇒ Object
9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9623 def Delivery.from_json(hash) HttpClient::Preconditions.assert_class('hash', hash, Hash) discriminator = HttpClient::Helper.symbolize_keys(hash)[:discriminator].to_s.strip if discriminator.empty? raise "Union type[delivery] requires a field named 'discriminator'" end case discriminator when Types::DIGITAL_DELIVERY; DigitalDelivery.new(hash) when Types::PHYSICAL_DELIVERY; PhysicalDelivery.new(hash) else DeliveryUndefinedType.new(:discriminator => discriminator) end end |
Instance Method Details
#subtype_to_hash ⇒ Object
9615 9616 9617 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9615 def subtype_to_hash raise 'Cannot serialize an instance of delivery directly - must use one of the specific types: digital_delivery, physical_delivery' end |
#to_hash ⇒ Object
9619 9620 9621 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 9619 def to_hash subtype_to_hash.merge(:discriminator => @discriminator) end |