Class: PaypalServerSdk::ShippingWithTrackingDetails

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/paypal_server_sdk/models/shipping_with_tracking_details.rb

Overview

The order shipping details.

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(name: SKIP, email_address: SKIP, phone_number: SKIP, type: SKIP, options: SKIP, address: SKIP, trackers: SKIP) ⇒ ShippingWithTrackingDetails

Returns a new instance of ShippingWithTrackingDetails.



83
84
85
86
87
88
89
90
91
92
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 83

def initialize(name: SKIP, email_address: SKIP, phone_number: SKIP,
               type: SKIP, options: SKIP, address: SKIP, trackers: SKIP)
  @name = name unless name == SKIP
  @email_address = email_address unless email_address == SKIP
  @phone_number = phone_number unless phone_number == SKIP
  @type = type unless type == SKIP
  @options = options unless options == SKIP
  @address = address unless address == SKIP
  @trackers = trackers unless trackers == SKIP
end

Instance Attribute Details

#addressAddress

The portable international postal address. Maps to [AddressValidationMetadata](github.com/googlei18n/libaddressinput/ wiki/AddressValidationMetadata) and HTML 5.1 [Autofilling form controls: the autocomplete attribute](www.w3.org/TR/html51/sec-forms.html#autofilling-form-co ntrols-the-autocomplete-attribute).

Returns:



46
47
48
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 46

def address
  @address
end

#email_addressString

The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters are allowed after the @ sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted @ sign exists.

Returns:

  • (String)


21
22
23
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 21

def email_address
  @email_address
end

#nameShippingName

The name of the party.

Returns:



14
15
16
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 14

def name
  @name
end

#optionsArray[ShippingOption]

An array of shipping options that the payee or merchant offers to the payer to ship or pick up their items.

Returns:



37
38
39
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 37

def options
  @options
end

#phone_numberPhoneNumberWithCountryCode

The phone number in its canonical international [E.164 numbering plan format](www.itu.int/rec/T-REC-E.164/en).



26
27
28
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 26

def phone_number
  @phone_number
end

#trackersArray[OrderTrackerResponse]

An array of trackers for a transaction.

Returns:



50
51
52
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 50

def trackers
  @trackers
end

#typeFulfillmentType

A classification for the method of purchase fulfillment (e.g shipping, in-store pickup, etc). Either ‘type` or `options` may be present, but not both.

Returns:



32
33
34
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 32

def type
  @type
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
129
130
131
132
133
134
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 95

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  name = ShippingName.from_hash(hash['name']) if hash['name']
  email_address = hash.key?('email_address') ? hash['email_address'] : SKIP
  phone_number = PhoneNumberWithCountryCode.from_hash(hash['phone_number']) if
    hash['phone_number']
  type = hash.key?('type') ? hash['type'] : SKIP
  # Parameter is an array, so we need to iterate through it
  options = nil
  unless hash['options'].nil?
    options = []
    hash['options'].each do |structure|
      options << (ShippingOption.from_hash(structure) if structure)
    end
  end

  options = SKIP unless hash.key?('options')
  address = Address.from_hash(hash['address']) if hash['address']
  # Parameter is an array, so we need to iterate through it
  trackers = nil
  unless hash['trackers'].nil?
    trackers = []
    hash['trackers'].each do |structure|
      trackers << (OrderTrackerResponse.from_hash(structure) if structure)
    end
  end

  trackers = SKIP unless hash.key?('trackers')

  # Create object from extracted values.
  ShippingWithTrackingDetails.new(name: name,
                                  email_address: email_address,
                                  phone_number: phone_number,
                                  type: type,
                                  options: options,
                                  address: address,
                                  trackers: trackers)
end

.namesObject

A mapping from model property names to API property names.



53
54
55
56
57
58
59
60
61
62
63
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 53

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['name'] = 'name'
  @_hash['email_address'] = 'email_address'
  @_hash['phone_number'] = 'phone_number'
  @_hash['type'] = 'type'
  @_hash['options'] = 'options'
  @_hash['address'] = 'address'
  @_hash['trackers'] = 'trackers'
  @_hash
end

.nullablesObject

An array for nullable fields



79
80
81
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 79

def self.nullables
  []
end

.optionalsObject

An array for optional fields



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 66

def self.optionals
  %w[
    name
    email_address
    phone_number
    type
    options
    address
    trackers
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



145
146
147
148
149
150
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 145

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name.inspect}, email_address: #{@email_address.inspect},"\
  " phone_number: #{@phone_number.inspect}, type: #{@type.inspect}, options:"\
  " #{@options.inspect}, address: #{@address.inspect}, trackers: #{@trackers.inspect}>"
end

#to_sObject

Provides a human-readable string representation of the object.



137
138
139
140
141
142
# File 'lib/paypal_server_sdk/models/shipping_with_tracking_details.rb', line 137

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} name: #{@name}, email_address: #{@email_address}, phone_number:"\
  " #{@phone_number}, type: #{@type}, options: #{@options}, address: #{@address}, trackers:"\
  " #{@trackers}>"
end