Class: CyberSourceMergedSpec::GetSubscriptionsPaymentsResponse

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb

Overview

GetSubscriptionsPaymentsResponse 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(links: SKIP, submit_time_utc: SKIP, total_count: SKIP, cycles_completed_count: SKIP, billing_cycles_to_skip: SKIP, subscription_payment: SKIP, additional_properties: nil) ⇒ GetSubscriptionsPaymentsResponse

Returns a new instance of GetSubscriptionsPaymentsResponse.



70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 70

def initialize(links: SKIP, submit_time_utc: SKIP, total_count: SKIP,
               cycles_completed_count: SKIP, billing_cycles_to_skip: SKIP,
               subscription_payment: SKIP, additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @links = links unless links == SKIP
  @submit_time_utc = submit_time_utc unless submit_time_utc == SKIP
  @total_count = total_count unless total_count == SKIP
  @cycles_completed_count = cycles_completed_count unless cycles_completed_count == SKIP
  @billing_cycles_to_skip = billing_cycles_to_skip unless billing_cycles_to_skip == SKIP
  @subscription_payment = subscription_payment unless subscription_payment == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#billing_cycles_to_skipArray[Integer]

A list of billing cycles that are marked to be skipped.

Returns:

  • (Array[Integer])


35
36
37
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 35

def billing_cycles_to_skip
  @billing_cycles_to_skip
end

#cycles_completed_countCyclesCompletedCount

An object containing the count of completed payment cycles by status.



31
32
33
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 31

def cycles_completed_count
  @cycles_completed_count
end

TODO: Write general description for this method

Returns:



14
15
16
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 14

def links
  @links
end

#submit_time_utcString

Time of request in UTC. Format: YYYY-MM-DDThh:mm:ssZ Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC. Returned by Cybersource for all services.

Returns:

  • (String)


22
23
24
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 22

def submit_time_utc
  @submit_time_utc
end

#subscription_paymentArray[SubscriptionPayment]

The list of subscription payment details.

Returns:



39
40
41
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 39

def subscription_payment
  @subscription_payment
end

#total_countInteger

Total number of payments returned for the subscription, including both past payments and those specified in scheduledPaymentsCount.

Returns:

  • (Integer)


27
28
29
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 27

def total_count
  @total_count
end

Class Method Details

.from_element(root) ⇒ Object



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 126

def self.from_element(root)
  links = XmlUtilities.from_element(root, 'Links243', Links243)
  submit_time_utc = XmlUtilities.from_element(root, 'submitTimeUtc', String)
  total_count = XmlUtilities.from_element(root, 'totalCount', Integer)
  cycles_completed_count = XmlUtilities.from_element(root,
                                                     'CyclesCompletedCount',
                                                     CyclesCompletedCount)
  billing_cycles_to_skip = XmlUtilities.from_element_to_array(
    root, 'billingCyclesToSkip', Integer
  )
  subscription_payment = XmlUtilities.from_element_to_array(
    root, 'SubscriptionPayment', SubscriptionPayment
  )

  new(links: links,
      submit_time_utc: submit_time_utc,
      total_count: total_count,
      cycles_completed_count: cycles_completed_count,
      billing_cycles_to_skip: billing_cycles_to_skip,
      subscription_payment: subscription_payment,
      additional_properties: additional_properties)
end

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



86
87
88
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
115
116
117
118
119
120
121
122
123
124
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 86

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  links = Links243.from_hash(hash['_links']) if hash['_links']
  submit_time_utc =
    hash.key?('submitTimeUtc') ? hash['submitTimeUtc'] : SKIP
  total_count = hash.key?('totalCount') ? hash['totalCount'] : SKIP
  cycles_completed_count = CyclesCompletedCount.from_hash(hash['cyclesCompletedCount']) if
    hash['cyclesCompletedCount']
  billing_cycles_to_skip =
    hash.key?('billingCyclesToSkip') ? hash['billingCyclesToSkip'] : SKIP
  # Parameter is an array, so we need to iterate through it
  subscription_payment = nil
  unless hash['subscriptionPayment'].nil?
    subscription_payment = []
    hash['subscriptionPayment'].each do |structure|
      subscription_payment << (SubscriptionPayment.from_hash(structure) if structure)
    end
  end

  subscription_payment = SKIP unless hash.key?('subscriptionPayment')

  # 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.
  GetSubscriptionsPaymentsResponse.new(links: links,
                                       submit_time_utc: submit_time_utc,
                                       total_count: total_count,
                                       cycles_completed_count: cycles_completed_count,
                                       billing_cycles_to_skip: billing_cycles_to_skip,
                                       subscription_payment: subscription_payment,
                                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



42
43
44
45
46
47
48
49
50
51
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 42

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['links'] = '_links'
  @_hash['submit_time_utc'] = 'submitTimeUtc'
  @_hash['total_count'] = 'totalCount'
  @_hash['cycles_completed_count'] = 'cyclesCompletedCount'
  @_hash['billing_cycles_to_skip'] = 'billingCyclesToSkip'
  @_hash['subscription_payment'] = 'subscriptionPayment'
  @_hash
end

.nullablesObject

An array for nullable fields



66
67
68
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 66

def self.nullables
  []
end

.optionalsObject

An array for optional fields



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

def self.optionals
  %w[
    links
    submit_time_utc
    total_count
    cycles_completed_count
    billing_cycles_to_skip
    subscription_payment
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



178
179
180
181
182
183
184
185
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 178

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} links: #{@links.inspect}, submit_time_utc: #{@submit_time_utc.inspect},"\
  " total_count: #{@total_count.inspect}, cycles_completed_count:"\
  " #{@cycles_completed_count.inspect}, billing_cycles_to_skip:"\
  " #{@billing_cycles_to_skip.inspect}, subscription_payment:"\
  " #{@subscription_payment.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



169
170
171
172
173
174
175
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 169

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} links: #{@links}, submit_time_utc: #{@submit_time_utc}, total_count:"\
  " #{@total_count}, cycles_completed_count: #{@cycles_completed_count},"\
  " billing_cycles_to_skip: #{@billing_cycles_to_skip}, subscription_payment:"\
  " #{@subscription_payment}, additional_properties: #{@additional_properties}>"
end

#to_xml_element(doc, root_name) ⇒ Object



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/cyber_source_merged_spec/models/get_subscriptions_payments_response.rb', line 149

def to_xml_element(doc, root_name)
  root = doc.create_element(root_name)

  XmlUtilities.add_as_subelement(doc, root, 'Links243', links)
  XmlUtilities.add_as_subelement(doc, root, 'submitTimeUtc',
                                 submit_time_utc)
  XmlUtilities.add_as_subelement(doc, root, 'totalCount', total_count)
  XmlUtilities.add_as_subelement(doc, root, 'CyclesCompletedCount',
                                 cycles_completed_count)
  XmlUtilities.add_array_as_subelement(doc, root, 'billingCyclesToSkip',
                                       billing_cycles_to_skip)
  XmlUtilities.add_array_as_subelement(doc, root, 'SubscriptionPayment',
                                       subscription_payment)
  XmlUtilities.add_as_subelement(doc, root, 'additional_properties',
                                 additional_properties)

  root
end