xero-ruby 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/lib/xero-ruby/api/accounting_api.rb +36 -27
  3. data/lib/xero-ruby/models/accounting/bank_transactions.rb +11 -1
  4. data/lib/xero-ruby/models/accounting/contacts.rb +11 -1
  5. data/lib/xero-ruby/models/accounting/credit_notes.rb +11 -1
  6. data/lib/xero-ruby/models/accounting/invoices.rb +11 -1
  7. data/lib/xero-ruby/models/accounting/manual_journals.rb +11 -1
  8. data/lib/xero-ruby/models/accounting/organisation.rb +6 -2
  9. data/lib/xero-ruby/models/accounting/overpayments.rb +11 -1
  10. data/lib/xero-ruby/models/accounting/{page_info.rb → pagination.rb} +18 -19
  11. data/lib/xero-ruby/models/accounting/payments.rb +11 -1
  12. data/lib/xero-ruby/models/accounting/prepayments.rb +11 -1
  13. data/lib/xero-ruby/models/accounting/purchase_orders.rb +11 -1
  14. data/lib/xero-ruby/version.rb +2 -2
  15. data/lib/xero-ruby.rb +1 -10
  16. metadata +3 -12
  17. data/lib/xero-ruby/models/accounting/get_bank_transactions_response.rb +0 -274
  18. data/lib/xero-ruby/models/accounting/get_contacts_response.rb +0 -274
  19. data/lib/xero-ruby/models/accounting/get_credit_notes_response.rb +0 -274
  20. data/lib/xero-ruby/models/accounting/get_invoices_response.rb +0 -274
  21. data/lib/xero-ruby/models/accounting/get_manual_journals_response.rb +0 -274
  22. data/lib/xero-ruby/models/accounting/get_overpayments_response.rb +0 -274
  23. data/lib/xero-ruby/models/accounting/get_payments_response.rb +0 -274
  24. data/lib/xero-ruby/models/accounting/get_prepayments_response.rb +0 -274
  25. data/lib/xero-ruby/models/accounting/get_purchase_orders_response.rb +0 -274
@@ -1,274 +0,0 @@
1
- =begin
2
- #Xero Accounting API
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- Contact: api@xero.com
7
- Generated by: https://openapi-generator.tech
8
- OpenAPI Generator version: 4.3.1
9
-
10
- =end
11
-
12
- require 'time'
13
- require 'date'
14
-
15
- module XeroRuby::Accounting
16
- require 'bigdecimal'
17
-
18
- class GetInvoicesResponse
19
-
20
- attr_accessor :id
21
-
22
-
23
- attr_accessor :status
24
-
25
-
26
- attr_accessor :provider_name
27
-
28
-
29
- attr_accessor :date_time_utc
30
-
31
-
32
- attr_accessor :page_info
33
-
34
-
35
- attr_accessor :invoices
36
-
37
- # Attribute mapping from ruby-style variable name to JSON key.
38
- def self.attribute_map
39
- {
40
- :'id' => :'Id',
41
- :'status' => :'Status',
42
- :'provider_name' => :'ProviderName',
43
- :'date_time_utc' => :'DateTimeUTC',
44
- :'page_info' => :'PageInfo',
45
- :'invoices' => :'Invoices'
46
- }
47
- end
48
-
49
- # Attribute type mapping.
50
- def self.openapi_types
51
- {
52
- :'id' => :'String',
53
- :'status' => :'String',
54
- :'provider_name' => :'String',
55
- :'date_time_utc' => :'String',
56
- :'page_info' => :'PageInfo',
57
- :'invoices' => :'Array<Invoice>'
58
- }
59
- end
60
-
61
- # Initializes the object
62
- # @param [Hash] attributes Model attributes in the form of hash
63
- def initialize(attributes = {})
64
- if (!attributes.is_a?(Hash))
65
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::GetInvoicesResponse` initialize method"
66
- end
67
-
68
- # check to see if the attribute exists and convert string to symbol for hash key
69
- attributes = attributes.each_with_object({}) { |(k, v), h|
70
- if (!self.class.attribute_map.key?(k.to_sym))
71
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::GetInvoicesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
- end
73
- h[k.to_sym] = v
74
- }
75
-
76
- if attributes.key?(:'id')
77
- self.id = attributes[:'id']
78
- end
79
-
80
- if attributes.key?(:'status')
81
- self.status = attributes[:'status']
82
- end
83
-
84
- if attributes.key?(:'provider_name')
85
- self.provider_name = attributes[:'provider_name']
86
- end
87
-
88
- if attributes.key?(:'date_time_utc')
89
- self.date_time_utc = attributes[:'date_time_utc']
90
- end
91
-
92
- if attributes.key?(:'page_info')
93
- self.page_info = attributes[:'page_info']
94
- end
95
-
96
- if attributes.key?(:'invoices')
97
- if (value = attributes[:'invoices']).is_a?(Array)
98
- self.invoices = value
99
- end
100
- end
101
- end
102
-
103
- # Show invalid properties with the reasons. Usually used together with valid?
104
- # @return Array for valid properties with the reasons
105
- def list_invalid_properties
106
- invalid_properties = Array.new
107
- invalid_properties
108
- end
109
-
110
- # Check to see if the all the properties in the model are valid
111
- # @return true if the model is valid
112
- def valid?
113
- true
114
- end
115
-
116
- # Checks equality by comparing each attribute.
117
- # @param [Object] Object to be compared
118
- def ==(o)
119
- return true if self.equal?(o)
120
- self.class == o.class &&
121
- id == o.id &&
122
- status == o.status &&
123
- provider_name == o.provider_name &&
124
- date_time_utc == o.date_time_utc &&
125
- page_info == o.page_info &&
126
- invoices == o.invoices
127
- end
128
-
129
- # @see the `==` method
130
- # @param [Object] Object to be compared
131
- def eql?(o)
132
- self == o
133
- end
134
-
135
- # Calculates hash code according to all attributes.
136
- # @return [Integer] Hash code
137
- def hash
138
- [id, status, provider_name, date_time_utc, page_info, invoices].hash
139
- end
140
-
141
- # Builds the object from hash
142
- # @param [Hash] attributes Model attributes in the form of hash
143
- # @return [Object] Returns the model itself
144
- def self.build_from_hash(attributes)
145
- new.build_from_hash(attributes)
146
- end
147
-
148
- # Builds the object from hash
149
- # @param [Hash] attributes Model attributes in the form of hash
150
- # @return [Object] Returns the model itself
151
- def build_from_hash(attributes)
152
- return nil unless attributes.is_a?(Hash)
153
- self.class.openapi_types.each_pair do |key, type|
154
- if type =~ /\AArray<(.*)>/i
155
- # check to ensure the input is an array given that the attribute
156
- # is documented as an array but the input is not
157
- if attributes[self.class.attribute_map[key]].is_a?(Array)
158
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
- end
160
- elsif !attributes[self.class.attribute_map[key]].nil?
161
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
- end # or else data not found in attributes(hash), not an issue as the data can be optional
163
- end
164
-
165
- self
166
- end
167
-
168
- # Deserializes the data based on type
169
- # @param string type Data type
170
- # @param string value Value to be deserialized
171
- # @return [Object] Deserialized data
172
- def _deserialize(type, value)
173
- case type.to_sym
174
- when :DateTime
175
- DateTime.parse(parse_date(value))
176
- when :Date
177
- Date.parse(parse_date(value))
178
- when :String
179
- value.to_s
180
- when :Integer
181
- value.to_i
182
- when :Float
183
- value.to_f
184
- when :BigDecimal
185
- BigDecimal(value.to_s)
186
- when :Boolean
187
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
188
- true
189
- else
190
- false
191
- end
192
- when :Object
193
- # generic object (usually a Hash), return directly
194
- value
195
- when /\AArray<(?<inner_type>.+)>\z/
196
- inner_type = Regexp.last_match[:inner_type]
197
- value.map { |v| _deserialize(inner_type, v) }
198
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
199
- k_type = Regexp.last_match[:k_type]
200
- v_type = Regexp.last_match[:v_type]
201
- {}.tap do |hash|
202
- value.each do |k, v|
203
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
204
- end
205
- end
206
- else # model
207
- XeroRuby::Accounting.const_get(type).build_from_hash(value)
208
- end
209
- end
210
-
211
- # Returns the string representation of the object
212
- # @return [String] String presentation of the object
213
- def to_s
214
- to_hash.to_s
215
- end
216
-
217
- # to_body is an alias to to_hash (backward compatibility)
218
- # @return [Hash] Returns the object in the form of hash
219
- def to_body
220
- to_hash
221
- end
222
-
223
- # Returns the object in the form of hash
224
- # @return [Hash] Returns the object in the form of hash
225
- def to_hash(downcase: false)
226
- hash = {}
227
- self.class.attribute_map.each_pair do |attr, param|
228
- value = self.send(attr)
229
- next if value.nil?
230
- key = downcase ? attr : param
231
- hash[key] = _to_hash(value, downcase: downcase)
232
- end
233
- hash
234
- end
235
-
236
- # Returns the object in the form of hash with snake_case
237
- def to_attributes
238
- to_hash(downcase: true)
239
- end
240
-
241
- # Outputs non-array value in the form of hash
242
- # For object, use to_hash. Otherwise, just return the value
243
- # @param [Object] value Any valid value
244
- # @return [Hash] Returns the value in the form of hash
245
- def _to_hash(value, downcase: false)
246
- if value.is_a?(Array)
247
- value.map do |v|
248
- v.to_hash(downcase: downcase)
249
- end
250
- elsif value.is_a?(Hash)
251
- {}.tap do |hash|
252
- value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
253
- end
254
- elsif value.respond_to? :to_hash
255
- value.to_hash(downcase: downcase)
256
- else
257
- value
258
- end
259
- end
260
-
261
- def parse_date(datestring)
262
- if datestring.include?('Date')
263
- date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
264
- original, date, timezone = *date_pattern.match(datestring)
265
- date = (date.to_i / 1000)
266
- Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
267
- elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
268
- Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
269
- else # handle date 'types' for small subset of payroll API's
270
- Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
271
- end
272
- end
273
- end
274
- end
@@ -1,274 +0,0 @@
1
- =begin
2
- #Xero Accounting API
3
-
4
- #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5
-
6
- Contact: api@xero.com
7
- Generated by: https://openapi-generator.tech
8
- OpenAPI Generator version: 4.3.1
9
-
10
- =end
11
-
12
- require 'time'
13
- require 'date'
14
-
15
- module XeroRuby::Accounting
16
- require 'bigdecimal'
17
-
18
- class GetManualJournalsResponse
19
-
20
- attr_accessor :id
21
-
22
-
23
- attr_accessor :status
24
-
25
-
26
- attr_accessor :provider_name
27
-
28
-
29
- attr_accessor :date_time_utc
30
-
31
-
32
- attr_accessor :page_info
33
-
34
-
35
- attr_accessor :manual_journals
36
-
37
- # Attribute mapping from ruby-style variable name to JSON key.
38
- def self.attribute_map
39
- {
40
- :'id' => :'Id',
41
- :'status' => :'Status',
42
- :'provider_name' => :'ProviderName',
43
- :'date_time_utc' => :'DateTimeUTC',
44
- :'page_info' => :'PageInfo',
45
- :'manual_journals' => :'ManualJournals'
46
- }
47
- end
48
-
49
- # Attribute type mapping.
50
- def self.openapi_types
51
- {
52
- :'id' => :'String',
53
- :'status' => :'String',
54
- :'provider_name' => :'String',
55
- :'date_time_utc' => :'String',
56
- :'page_info' => :'PageInfo',
57
- :'manual_journals' => :'Array<ManualJournal>'
58
- }
59
- end
60
-
61
- # Initializes the object
62
- # @param [Hash] attributes Model attributes in the form of hash
63
- def initialize(attributes = {})
64
- if (!attributes.is_a?(Hash))
65
- fail ArgumentError, "The input argument (attributes) must be a hash in `XeroRuby::Accounting::GetManualJournalsResponse` initialize method"
66
- end
67
-
68
- # check to see if the attribute exists and convert string to symbol for hash key
69
- attributes = attributes.each_with_object({}) { |(k, v), h|
70
- if (!self.class.attribute_map.key?(k.to_sym))
71
- fail ArgumentError, "`#{k}` is not a valid attribute in `XeroRuby::Accounting::GetManualJournalsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
- end
73
- h[k.to_sym] = v
74
- }
75
-
76
- if attributes.key?(:'id')
77
- self.id = attributes[:'id']
78
- end
79
-
80
- if attributes.key?(:'status')
81
- self.status = attributes[:'status']
82
- end
83
-
84
- if attributes.key?(:'provider_name')
85
- self.provider_name = attributes[:'provider_name']
86
- end
87
-
88
- if attributes.key?(:'date_time_utc')
89
- self.date_time_utc = attributes[:'date_time_utc']
90
- end
91
-
92
- if attributes.key?(:'page_info')
93
- self.page_info = attributes[:'page_info']
94
- end
95
-
96
- if attributes.key?(:'manual_journals')
97
- if (value = attributes[:'manual_journals']).is_a?(Array)
98
- self.manual_journals = value
99
- end
100
- end
101
- end
102
-
103
- # Show invalid properties with the reasons. Usually used together with valid?
104
- # @return Array for valid properties with the reasons
105
- def list_invalid_properties
106
- invalid_properties = Array.new
107
- invalid_properties
108
- end
109
-
110
- # Check to see if the all the properties in the model are valid
111
- # @return true if the model is valid
112
- def valid?
113
- true
114
- end
115
-
116
- # Checks equality by comparing each attribute.
117
- # @param [Object] Object to be compared
118
- def ==(o)
119
- return true if self.equal?(o)
120
- self.class == o.class &&
121
- id == o.id &&
122
- status == o.status &&
123
- provider_name == o.provider_name &&
124
- date_time_utc == o.date_time_utc &&
125
- page_info == o.page_info &&
126
- manual_journals == o.manual_journals
127
- end
128
-
129
- # @see the `==` method
130
- # @param [Object] Object to be compared
131
- def eql?(o)
132
- self == o
133
- end
134
-
135
- # Calculates hash code according to all attributes.
136
- # @return [Integer] Hash code
137
- def hash
138
- [id, status, provider_name, date_time_utc, page_info, manual_journals].hash
139
- end
140
-
141
- # Builds the object from hash
142
- # @param [Hash] attributes Model attributes in the form of hash
143
- # @return [Object] Returns the model itself
144
- def self.build_from_hash(attributes)
145
- new.build_from_hash(attributes)
146
- end
147
-
148
- # Builds the object from hash
149
- # @param [Hash] attributes Model attributes in the form of hash
150
- # @return [Object] Returns the model itself
151
- def build_from_hash(attributes)
152
- return nil unless attributes.is_a?(Hash)
153
- self.class.openapi_types.each_pair do |key, type|
154
- if type =~ /\AArray<(.*)>/i
155
- # check to ensure the input is an array given that the attribute
156
- # is documented as an array but the input is not
157
- if attributes[self.class.attribute_map[key]].is_a?(Array)
158
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
159
- end
160
- elsif !attributes[self.class.attribute_map[key]].nil?
161
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
162
- end # or else data not found in attributes(hash), not an issue as the data can be optional
163
- end
164
-
165
- self
166
- end
167
-
168
- # Deserializes the data based on type
169
- # @param string type Data type
170
- # @param string value Value to be deserialized
171
- # @return [Object] Deserialized data
172
- def _deserialize(type, value)
173
- case type.to_sym
174
- when :DateTime
175
- DateTime.parse(parse_date(value))
176
- when :Date
177
- Date.parse(parse_date(value))
178
- when :String
179
- value.to_s
180
- when :Integer
181
- value.to_i
182
- when :Float
183
- value.to_f
184
- when :BigDecimal
185
- BigDecimal(value.to_s)
186
- when :Boolean
187
- if value.to_s =~ /\A(true|t|yes|y|1)\z/i
188
- true
189
- else
190
- false
191
- end
192
- when :Object
193
- # generic object (usually a Hash), return directly
194
- value
195
- when /\AArray<(?<inner_type>.+)>\z/
196
- inner_type = Regexp.last_match[:inner_type]
197
- value.map { |v| _deserialize(inner_type, v) }
198
- when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
199
- k_type = Regexp.last_match[:k_type]
200
- v_type = Regexp.last_match[:v_type]
201
- {}.tap do |hash|
202
- value.each do |k, v|
203
- hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
204
- end
205
- end
206
- else # model
207
- XeroRuby::Accounting.const_get(type).build_from_hash(value)
208
- end
209
- end
210
-
211
- # Returns the string representation of the object
212
- # @return [String] String presentation of the object
213
- def to_s
214
- to_hash.to_s
215
- end
216
-
217
- # to_body is an alias to to_hash (backward compatibility)
218
- # @return [Hash] Returns the object in the form of hash
219
- def to_body
220
- to_hash
221
- end
222
-
223
- # Returns the object in the form of hash
224
- # @return [Hash] Returns the object in the form of hash
225
- def to_hash(downcase: false)
226
- hash = {}
227
- self.class.attribute_map.each_pair do |attr, param|
228
- value = self.send(attr)
229
- next if value.nil?
230
- key = downcase ? attr : param
231
- hash[key] = _to_hash(value, downcase: downcase)
232
- end
233
- hash
234
- end
235
-
236
- # Returns the object in the form of hash with snake_case
237
- def to_attributes
238
- to_hash(downcase: true)
239
- end
240
-
241
- # Outputs non-array value in the form of hash
242
- # For object, use to_hash. Otherwise, just return the value
243
- # @param [Object] value Any valid value
244
- # @return [Hash] Returns the value in the form of hash
245
- def _to_hash(value, downcase: false)
246
- if value.is_a?(Array)
247
- value.map do |v|
248
- v.to_hash(downcase: downcase)
249
- end
250
- elsif value.is_a?(Hash)
251
- {}.tap do |hash|
252
- value.map { |k, v| hash[k] = _to_hash(v, downcase: downcase) }
253
- end
254
- elsif value.respond_to? :to_hash
255
- value.to_hash(downcase: downcase)
256
- else
257
- value
258
- end
259
- end
260
-
261
- def parse_date(datestring)
262
- if datestring.include?('Date')
263
- date_pattern = /\/Date\((-?\d+)(\+\d+)?\)\//
264
- original, date, timezone = *date_pattern.match(datestring)
265
- date = (date.to_i / 1000)
266
- Time.at(date).utc.strftime('%Y-%m-%dT%H:%M:%S%z').to_s
267
- elsif /(\d\d\d\d)-(\d\d)/.match(datestring) # handles dates w/out Days: YYYY-MM*-DD
268
- Time.parse(datestring + '-01').strftime('%Y-%m-%dT%H:%M:%S').to_s
269
- else # handle date 'types' for small subset of payroll API's
270
- Time.parse(datestring).strftime('%Y-%m-%dT%H:%M:%S').to_s
271
- end
272
- end
273
- end
274
- end