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.
6952 6953 6954 6955 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 6952 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.
6950 6951 6952 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 6950 def discriminator @discriminator end |
Class Method Details
.from_json(hash) ⇒ Object
6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 6965 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
6957 6958 6959 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 6957 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
6961 6962 6963 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 6961 def to_hash subtype_to_hash.merge(:discriminator => @discriminator) end |