Class: NewStoreApi::ProviderRateSchema

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/new_store_api/models/provider_rate_schema.rb

Overview

ProviderRateSchema Model.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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_defined_service_level = nil, id = nil, return_provider_rate_id = nil, service_level_id = nil, shipping_carrier_name = nil, shipping_type = nil, use_as_customer_facing_cost = nil) ⇒ ProviderRateSchema

Returns a new instance of ProviderRateSchema.



75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 75

def initialize(carrier_defined_service_level = nil, id = nil,
               return_provider_rate_id = nil, service_level_id = nil,
               shipping_carrier_name = nil, shipping_type = nil,
               use_as_customer_facing_cost = nil)
  @carrier_defined_service_level = carrier_defined_service_level
  @id = id
  @return_provider_rate_id = return_provider_rate_id
  @service_level_id = service_level_id
  @shipping_carrier_name = shipping_carrier_name
  @shipping_type = shipping_type
  @use_as_customer_facing_cost = use_as_customer_facing_cost
end

Instance Attribute Details

#carrier_defined_service_levelString

Carrier specific name that defines the service level. When defining provider rates with the same shipping provider, the value you specify here must be unique and should always match the name defined by the shipping provider API. For example, 'NextDayAirSaver' for UPS and 'GROUND_HOME_DELIVERY' for FedEx. If no value is provided, NewStore uses the unique identifier of the provider rate as the default value.

Returns:

  • (String)


19
20
21
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 19

def carrier_defined_service_level
  @carrier_defined_service_level
end

#idString

ID of the provider rate.

Returns:

  • (String)


23
24
25
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 23

def id
  @id
end

#return_provider_rate_idString

The ID for the provider rate used for the return shipment.

Returns:

  • (String)


27
28
29
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 27

def return_provider_rate_id
  @return_provider_rate_id
end

#service_level_idString

Service level that the provider rate corresponds to.

Returns:

  • (String)


31
32
33
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 31

def service_level_id
  @service_level_id
end

#shipping_carrier_nameString

The name of shipping provider associated with this provider rate.

Returns:

  • (String)


35
36
37
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 35

def shipping_carrier_name
  @shipping_carrier_name
end

#shipping_typeProviderRateShippingTypeEnum

Required for backwards compatibility purposes.



39
40
41
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 39

def shipping_type
  @shipping_type
end

#use_as_customer_facing_costTrueClass | FalseClass

Flag to indicate if the shipping provider cost is used instead of the service level cost defined in the fulfillment configuration. If set to true, the cost quoted by the shipping provider is displayed to the customer.

Returns:

  • (TrueClass | FalseClass)


46
47
48
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 46

def use_as_customer_facing_cost
  @use_as_customer_facing_cost
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 89

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  carrier_defined_service_level =
    hash.key?('carrier_defined_service_level') ? hash['carrier_defined_service_level'] : nil
  id = hash.key?('id') ? hash['id'] : nil
  return_provider_rate_id =
    hash.key?('return_provider_rate_id') ? hash['return_provider_rate_id'] : nil
  service_level_id =
    hash.key?('service_level_id') ? hash['service_level_id'] : nil
  shipping_carrier_name =
    hash.key?('shipping_carrier_name') ? hash['shipping_carrier_name'] : nil
  shipping_type = hash.key?('shipping_type') ? hash['shipping_type'] : nil
  use_as_customer_facing_cost =
    hash.key?('use_as_customer_facing_cost') ? hash['use_as_customer_facing_cost'] : nil

  # Create object from extracted values.
  ProviderRateSchema.new(carrier_defined_service_level,
                         id,
                         return_provider_rate_id,
                         service_level_id,
                         shipping_carrier_name,
                         shipping_type,
                         use_as_customer_facing_cost)
end

.namesObject

A mapping from model property names to API property names.



49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 49

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['carrier_defined_service_level'] =
    'carrier_defined_service_level'
  @_hash['id'] = 'id'
  @_hash['return_provider_rate_id'] = 'return_provider_rate_id'
  @_hash['service_level_id'] = 'service_level_id'
  @_hash['shipping_carrier_name'] = 'shipping_carrier_name'
  @_hash['shipping_type'] = 'shipping_type'
  @_hash['use_as_customer_facing_cost'] = 'use_as_customer_facing_cost'
  @_hash
end

.nullablesObject

An array for nullable fields



68
69
70
71
72
73
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 68

def self.nullables
  %w[
    carrier_defined_service_level
    return_provider_rate_id
  ]
end

.optionalsObject

An array for optional fields



63
64
65
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 63

def self.optionals
  []
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



126
127
128
129
130
131
132
133
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 126

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} carrier_defined_service_level: #{@carrier_defined_service_level.inspect},"\
  " id: #{@id.inspect}, return_provider_rate_id: #{@return_provider_rate_id.inspect},"\
  " service_level_id: #{@service_level_id.inspect}, shipping_carrier_name:"\
  " #{@shipping_carrier_name.inspect}, shipping_type: #{@shipping_type.inspect},"\
  " use_as_customer_facing_cost: #{@use_as_customer_facing_cost.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



117
118
119
120
121
122
123
# File 'lib/new_store_api/models/provider_rate_schema.rb', line 117

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} carrier_defined_service_level: #{@carrier_defined_service_level}, id:"\
  " #{@id}, return_provider_rate_id: #{@return_provider_rate_id}, service_level_id:"\
  " #{@service_level_id}, shipping_carrier_name: #{@shipping_carrier_name}, shipping_type:"\
  " #{@shipping_type}, use_as_customer_facing_cost: #{@use_as_customer_facing_cost}>"
end