Class: WalmartApIs::TransportationOption
- Inherits:
-
BaseModel
- Object
- CoreLibrary::BaseModel
- BaseModel
- WalmartApIs::TransportationOption
- Defined in:
- lib/walmart_ap_is/models/transportation_option.rb
Overview
Contains information pertaining to a transportation option and the related carrier.
Instance Attribute Summary collapse
-
#carrier ⇒ Carrier
The carrier for the inbound shipment.
-
#carrier_appointment ⇒ AppointmentSlotTime
Contains details for a transportation carrier appointment.
-
#preconditions ⇒ Array[String]
Identifies a list of preconditions for confirming the transportation option.
-
#quote ⇒ Quote
The estimated shipping cost associated with the transportation option.
-
#shipment_id ⇒ String
Identifier of a shipment.
-
#shipping_mode ⇒ String
Mode of shipment transportation.
-
#shipping_solution ⇒ String
Shipping program for the option.
-
#transportation_option_id ⇒ String
Identifier of a transportation option.
Class Method Summary collapse
-
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
-
.names ⇒ Object
A mapping from model property names to API property names.
-
.nullables ⇒ Object
An array for nullable fields.
-
.optionals ⇒ Object
An array for optional fields.
Instance Method Summary collapse
-
#initialize(carrier:, preconditions:, shipment_id:, shipping_mode:, shipping_solution:, transportation_option_id:, carrier_appointment: SKIP, quote: SKIP, additional_properties: nil) ⇒ TransportationOption
constructor
A new instance of TransportationOption.
-
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
-
#to_s ⇒ Object
Provides a human-readable string representation of the object.
Methods inherited from BaseModel
#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json
Constructor Details
#initialize(carrier:, preconditions:, shipment_id:, shipping_mode:, shipping_solution:, transportation_option_id:, carrier_appointment: SKIP, quote: SKIP, additional_properties: nil) ⇒ TransportationOption
Returns a new instance of TransportationOption.
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 76 def initialize(carrier:, preconditions:, shipment_id:, shipping_mode:, shipping_solution:, transportation_option_id:, carrier_appointment: SKIP, quote: SKIP, additional_properties: nil) # Add additional model properties to the instance additional_properties = {} if additional_properties.nil? @carrier = carrier @carrier_appointment = carrier_appointment unless carrier_appointment == SKIP @preconditions = preconditions @quote = quote unless quote == SKIP @shipment_id = shipment_id @shipping_mode = shipping_mode @shipping_solution = shipping_solution @transportation_option_id = transportation_option_id @additional_properties = additional_properties end |
Instance Attribute Details
#carrier ⇒ Carrier
The carrier for the inbound shipment.
15 16 17 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 15 def carrier @carrier end |
#carrier_appointment ⇒ AppointmentSlotTime
Contains details for a transportation carrier appointment.
19 20 21 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 19 def carrier_appointment @carrier_appointment end |
#preconditions ⇒ Array[String]
Identifies a list of preconditions for confirming the transportation option.
24 25 26 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 24 def preconditions @preconditions end |
#quote ⇒ Quote
The estimated shipping cost associated with the transportation option.
28 29 30 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 28 def quote @quote end |
#shipment_id ⇒ String
Identifier of a shipment.
32 33 34 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 32 def shipment_id @shipment_id end |
#shipping_mode ⇒ String
Mode of shipment transportation. Possible values: GROUND_SMALL_PARCEL,
FREIGHT_LTL, FREIGHT_FTL_PALLET, FREIGHT_FTL_NONPALLET, OCEAN_LCL,
OCEAN_FCL, AIR_SMALL_PARCEL, AIR_SMALL_PARCEL_EXPRESS.
38 39 40 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 38 def shipping_mode @shipping_mode end |
#shipping_solution ⇒ String
Shipping program for the option. Possible values:
WALMART_PARTNERED_CARRIER, USE_YOUR_OWN_CARRIER.
43 44 45 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 43 def shipping_solution @shipping_solution end |
#transportation_option_id ⇒ String
Identifier of a transportation option.
47 48 49 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 47 def transportation_option_id @transportation_option_id end |
Class Method Details
.from_hash(hash) ⇒ Object
Creates an instance of the object from a hash.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 95 def self.from_hash(hash) return nil unless hash # Extract variables from the hash. carrier = Carrier.from_hash(hash['carrier']) if hash['carrier'] preconditions = hash.key?('preconditions') ? hash['preconditions'] : nil shipment_id = hash.key?('shipmentId') ? hash['shipmentId'] : nil shipping_mode = hash.key?('shippingMode') ? hash['shippingMode'] : nil shipping_solution = hash.key?('shippingSolution') ? hash['shippingSolution'] : nil transportation_option_id = hash.key?('transportationOptionId') ? hash['transportationOptionId'] : nil carrier_appointment = AppointmentSlotTime.from_hash(hash['carrierAppointment']) if hash['carrierAppointment'] quote = Quote.from_hash(hash['quote']) if hash['quote'] # Create a new hash for additional properties, removing known properties. new_hash = hash.reject { |k, _| names.value?(k) } additional_properties = APIHelper.get_additional_properties( new_hash, proc { |value| value } ) # Create object from extracted values. TransportationOption.new(carrier: carrier, preconditions: preconditions, shipment_id: shipment_id, shipping_mode: shipping_mode, shipping_solution: shipping_solution, transportation_option_id: transportation_option_id, carrier_appointment: carrier_appointment, quote: quote, additional_properties: additional_properties) end |
.names ⇒ Object
A mapping from model property names to API property names.
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 50 def self.names @_hash = {} if @_hash.nil? @_hash['carrier'] = 'carrier' @_hash['carrier_appointment'] = 'carrierAppointment' @_hash['preconditions'] = 'preconditions' @_hash['quote'] = 'quote' @_hash['shipment_id'] = 'shipmentId' @_hash['shipping_mode'] = 'shippingMode' @_hash['shipping_solution'] = 'shippingSolution' @_hash['transportation_option_id'] = 'transportationOptionId' @_hash end |
.nullables ⇒ Object
An array for nullable fields
72 73 74 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 72 def self.nullables [] end |
.optionals ⇒ Object
An array for optional fields
64 65 66 67 68 69 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 64 def self.optionals %w[ carrier_appointment quote ] end |
Instance Method Details
#inspect ⇒ Object
Provides a debugging-friendly string with detailed object information.
141 142 143 144 145 146 147 148 149 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 141 def inspect class_name = self.class.name.split('::').last "<#{class_name} carrier: #{@carrier.inspect}, carrier_appointment:"\ " #{@carrier_appointment.inspect}, preconditions: #{@preconditions.inspect}, quote:"\ " #{@quote.inspect}, shipment_id: #{@shipment_id.inspect}, shipping_mode:"\ " #{@shipping_mode.inspect}, shipping_solution: #{@shipping_solution.inspect},"\ " transportation_option_id: #{@transportation_option_id.inspect}, additional_properties:"\ " #{@additional_properties}>" end |
#to_s ⇒ Object
Provides a human-readable string representation of the object.
131 132 133 134 135 136 137 138 |
# File 'lib/walmart_ap_is/models/transportation_option.rb', line 131 def to_s class_name = self.class.name.split('::').last "<#{class_name} carrier: #{@carrier}, carrier_appointment: #{@carrier_appointment},"\ " preconditions: #{@preconditions}, quote: #{@quote}, shipment_id: #{@shipment_id},"\ " shipping_mode: #{@shipping_mode}, shipping_solution: #{@shipping_solution},"\ " transportation_option_id: #{@transportation_option_id}, additional_properties:"\ " #{@additional_properties}>" end |