Class: NewStoreApi::ReplaceProviderRateSchema

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

Overview

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

Returns a new instance of ReplaceProviderRateSchema.



70
71
72
73
74
75
76
77
78
79
80
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 70

def initialize(carrier_defined_service_level = 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
  @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/replace_provider_rate_schema.rb', line 19

def carrier_defined_service_level
  @carrier_defined_service_level
end

#return_provider_rate_idString

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

Returns:

  • (String)


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

def return_provider_rate_id
  @return_provider_rate_id
end

#service_level_idString

Service level that the provider rate corresponds to.

Returns:

  • (String)


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

def service_level_id
  @service_level_id
end

#shipping_carrier_nameString

The name of shipping provider associated with this provider rate.

Returns:

  • (String)


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

def shipping_carrier_name
  @shipping_carrier_name
end

#shipping_typeProviderRateShippingTypeEnum

Required for backwards compatibility purposes.



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

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)


42
43
44
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 42

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.



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 83

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
  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.
  ReplaceProviderRateSchema.new(carrier_defined_service_level,
                                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.



45
46
47
48
49
50
51
52
53
54
55
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 45

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['carrier_defined_service_level'] =
    'carrier_defined_service_level'
  @_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



63
64
65
66
67
68
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 63

def self.nullables
  %w[
    carrier_defined_service_level
    return_provider_rate_id
  ]
end

.optionalsObject

An array for optional fields



58
59
60
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 58

def self.optionals
  []
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



118
119
120
121
122
123
124
125
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 118

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} carrier_defined_service_level: #{@carrier_defined_service_level.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.



109
110
111
112
113
114
115
# File 'lib/new_store_api/models/replace_provider_rate_schema.rb', line 109

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} carrier_defined_service_level: #{@carrier_defined_service_level},"\
  " 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