patch_ruby 1.24.2 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/Gemfile.lock +9 -10
  4. data/lib/patch_ruby/api/estimates_api.rb +72 -2
  5. data/lib/patch_ruby/api/order_line_items_api.rb +269 -0
  6. data/lib/patch_ruby/api/orders_api.rb +99 -4
  7. data/lib/patch_ruby/api/projects_api.rb +12 -2
  8. data/lib/patch_ruby/api/technology_types_api.rb +7 -2
  9. data/lib/patch_ruby/api_client.rb +3 -3
  10. data/lib/patch_ruby/api_error.rb +2 -2
  11. data/lib/patch_ruby/configuration.rb +3 -4
  12. data/lib/patch_ruby/models/create_air_shipping_estimate_request.rb +2 -2
  13. data/lib/patch_ruby/models/create_bitcoin_estimate_request.rb +2 -2
  14. data/lib/patch_ruby/models/create_ecommerce_estimate_request.rb +2 -2
  15. data/lib/patch_ruby/models/create_ethereum_estimate_request.rb +2 -2
  16. data/lib/patch_ruby/models/create_flight_estimate_request.rb +2 -2
  17. data/lib/patch_ruby/models/create_hotel_estimate_request.rb +2 -2
  18. data/lib/patch_ruby/models/create_mass_estimate_request.rb +7 -7
  19. data/lib/patch_ruby/models/create_order_line_item_request.rb +443 -0
  20. data/lib/patch_ruby/models/create_order_request.rb +79 -70
  21. data/lib/patch_ruby/models/create_rail_shipping_estimate_request.rb +2 -2
  22. data/lib/patch_ruby/models/create_road_shipping_estimate_request.rb +13 -3
  23. data/lib/patch_ruby/models/create_sea_shipping_estimate_request.rb +2 -2
  24. data/lib/patch_ruby/models/create_shipping_estimate_request.rb +2 -2
  25. data/lib/patch_ruby/models/create_success_response.rb +2 -2
  26. data/lib/patch_ruby/models/create_vehicle_estimate_request.rb +2 -2
  27. data/lib/patch_ruby/models/delete_order_line_item_response.rb +257 -0
  28. data/lib/patch_ruby/models/delete_order_response.rb +257 -0
  29. data/lib/patch_ruby/models/disclaimer.rb +282 -0
  30. data/lib/patch_ruby/models/error_response.rb +2 -2
  31. data/lib/patch_ruby/models/estimate.rb +2 -2
  32. data/lib/patch_ruby/models/estimate_list_response.rb +2 -2
  33. data/lib/patch_ruby/models/estimate_response.rb +2 -2
  34. data/lib/patch_ruby/models/highlight.rb +2 -2
  35. data/lib/patch_ruby/models/inventory.rb +33 -3
  36. data/lib/patch_ruby/models/meta_index_object.rb +2 -2
  37. data/lib/patch_ruby/models/order.rb +17 -121
  38. data/lib/patch_ruby/models/order_issued_to.rb +2 -2
  39. data/lib/patch_ruby/models/{order_inventory.rb → order_line_item.rb} +49 -9
  40. data/lib/patch_ruby/models/{order_inventory_project.rb → order_line_item_project.rb} +7 -7
  41. data/lib/patch_ruby/models/{allocation.rb → order_line_item_response.rb} +33 -40
  42. data/lib/patch_ruby/models/order_list_response.rb +2 -2
  43. data/lib/patch_ruby/models/order_response.rb +2 -2
  44. data/lib/patch_ruby/models/parent_technology_type.rb +2 -2
  45. data/lib/patch_ruby/models/photo.rb +2 -2
  46. data/lib/patch_ruby/models/place_order_request.rb +2 -2
  47. data/lib/patch_ruby/models/project.rb +72 -56
  48. data/lib/patch_ruby/models/project_list_response.rb +2 -2
  49. data/lib/patch_ruby/models/project_response.rb +2 -2
  50. data/lib/patch_ruby/models/sdg.rb +2 -2
  51. data/lib/patch_ruby/models/standard.rb +2 -2
  52. data/lib/patch_ruby/models/technology_type.rb +2 -2
  53. data/lib/patch_ruby/models/technology_type_list_response.rb +2 -2
  54. data/lib/patch_ruby/models/update_order_line_item_request.rb +434 -0
  55. data/lib/patch_ruby/version.rb +3 -3
  56. data/lib/patch_ruby.rb +11 -5
  57. data/patch_ruby.gemspec +2 -2
  58. data/spec/api/order_line_items_api_spec.rb +78 -0
  59. data/spec/api_client_spec.rb +2 -2
  60. data/spec/configuration_spec.rb +2 -2
  61. data/spec/factories/create_order_requests.rb +4 -2
  62. data/spec/factories/orders.rb +5 -4
  63. data/spec/factories/projects.rb +1 -4
  64. data/spec/integration/estimates_spec.rb +1 -1
  65. data/spec/integration/orders_spec.rb +121 -44
  66. data/spec/integration/projects_spec.rb +19 -7
  67. data/spec/models/create_order_request_spec.rb +10 -3
  68. data/spec/models/order_spec.rb +8 -23
  69. data/spec/models/project_spec.rb +1 -4
  70. data/spec/spec_helper.rb +2 -2
  71. metadata +35 -31
  72. data/spec/factories/allocations.rb +0 -7
  73. data/spec/models/allocation_spec.rb +0 -59
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Patch API V1
2
+ #Patch API V2
3
3
 
4
4
  #The core API used to integrate with Patch's service
5
5
 
6
- The version of the OpenAPI document: v1
6
+ The version of the OpenAPI document: 2
7
7
  Contact: engineering@usepatch.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.3.1
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Patch API V1
2
+ #Patch API V2
3
3
 
4
4
  #The core API used to integrate with Patch's service
5
5
 
6
- The version of the OpenAPI document: v1
6
+ The version of the OpenAPI document: 2
7
7
  Contact: engineering@usepatch.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.3.1
@@ -21,9 +21,6 @@ module Patch
21
21
  # The timestamp at which the order was created
22
22
  attr_accessor :created_at
23
23
 
24
- # DEPRECATED, use `amount` and `unit` fields instead. The amount of carbon offsets in grams purchased through this order.
25
- attr_accessor :mass_g
26
-
27
24
  # A boolean indicating if this order is a production or demo mode order.
28
25
  attr_accessor :production
29
26
 
@@ -45,26 +42,14 @@ module Patch
45
42
  # The currency code for the `price` and `patch_fee`.
46
43
  attr_accessor :currency
47
44
 
48
- # DEPRECATED. Indicates if the order has been fully allocated to projects.
49
- attr_accessor :allocation_state
50
-
51
- # DEPRECATED, use the `price` and `currency` fields instead. The total price in cents USD of the carbon offsets purchased through this order.
52
- attr_accessor :price_cents_usd
53
-
54
- # DEPRECATED, use the `patch_fee` and `currency` fields instead. The Patch Fee in cents USD for this order.
55
- attr_accessor :patch_fee_cents_usd
56
-
57
- # DEPRECATED. An array containing the inventory allocations for this order.
58
- attr_accessor :allocations
59
-
60
- # The url of this order in the public registry.
45
+ # The URL of this order in the public registry. Use this URL to access the order's accompanying certificate.
61
46
  attr_accessor :registry_url
62
47
 
63
48
  # An optional JSON object containing metadata for this order.
64
49
  attr_accessor :metadata
65
50
 
66
- # An array containing the inventory allocated for this order. Inventory is grouped by project, vintage year, and price.
67
- attr_accessor :inventory
51
+ # An array containing the line items allocated for this order. Line items are grouped by project, vintage year, and price.
52
+ attr_accessor :line_items
68
53
 
69
54
  # An object containing the name & email of the party the inventory will be issued to.
70
55
  attr_accessor :issued_to
@@ -96,7 +81,6 @@ module Patch
96
81
  {
97
82
  :'id' => :'id',
98
83
  :'created_at' => :'created_at',
99
- :'mass_g' => :'mass_g',
100
84
  :'production' => :'production',
101
85
  :'state' => :'state',
102
86
  :'amount' => :'amount',
@@ -104,13 +88,9 @@ module Patch
104
88
  :'price' => :'price',
105
89
  :'patch_fee' => :'patch_fee',
106
90
  :'currency' => :'currency',
107
- :'allocation_state' => :'allocation_state',
108
- :'price_cents_usd' => :'price_cents_usd',
109
- :'patch_fee_cents_usd' => :'patch_fee_cents_usd',
110
- :'allocations' => :'allocations',
111
91
  :'registry_url' => :'registry_url',
112
92
  :'metadata' => :'metadata',
113
- :'inventory' => :'inventory',
93
+ :'line_items' => :'line_items',
114
94
  :'issued_to' => :'issued_to'
115
95
  }
116
96
  end
@@ -125,7 +105,6 @@ module Patch
125
105
  {
126
106
  :'id' => :'String',
127
107
  :'created_at' => :'Time',
128
- :'mass_g' => :'Integer',
129
108
  :'production' => :'Boolean',
130
109
  :'state' => :'String',
131
110
  :'amount' => :'Integer',
@@ -133,13 +112,9 @@ module Patch
133
112
  :'price' => :'Integer',
134
113
  :'patch_fee' => :'Integer',
135
114
  :'currency' => :'String',
136
- :'allocation_state' => :'String',
137
- :'price_cents_usd' => :'Integer',
138
- :'patch_fee_cents_usd' => :'Integer',
139
- :'allocations' => :'Array<Allocation>',
140
115
  :'registry_url' => :'String',
141
116
  :'metadata' => :'Object',
142
- :'inventory' => :'Array<OrderInventory>',
117
+ :'line_items' => :'Array<OrderLineItem>',
143
118
  :'issued_to' => :'OrderIssuedTo'
144
119
  }
145
120
  end
@@ -147,8 +122,6 @@ module Patch
147
122
  # List of attributes with nullable: true
148
123
  def self.openapi_nullable
149
124
  Set.new([
150
- :'price_cents_usd',
151
- :'patch_fee_cents_usd',
152
125
  ])
153
126
  end
154
127
 
@@ -187,10 +160,6 @@ module Patch
187
160
  self.created_at = attributes[:'created_at']
188
161
  end
189
162
 
190
- if attributes.key?(:'mass_g')
191
- self.mass_g = attributes[:'mass_g']
192
- end
193
-
194
163
  if attributes.key?(:'production')
195
164
  self.production = attributes[:'production']
196
165
  end
@@ -219,24 +188,6 @@ module Patch
219
188
  self.currency = attributes[:'currency']
220
189
  end
221
190
 
222
- if attributes.key?(:'allocation_state')
223
- self.allocation_state = attributes[:'allocation_state']
224
- end
225
-
226
- if attributes.key?(:'price_cents_usd')
227
- self.price_cents_usd = attributes[:'price_cents_usd']
228
- end
229
-
230
- if attributes.key?(:'patch_fee_cents_usd')
231
- self.patch_fee_cents_usd = attributes[:'patch_fee_cents_usd']
232
- end
233
-
234
- if attributes.key?(:'allocations')
235
- if (value = attributes[:'allocations']).is_a?(Array)
236
- self.allocations = value
237
- end
238
- end
239
-
240
191
  if attributes.key?(:'registry_url')
241
192
  self.registry_url = attributes[:'registry_url']
242
193
  end
@@ -245,9 +196,9 @@ module Patch
245
196
  self.metadata = attributes[:'metadata']
246
197
  end
247
198
 
248
- if attributes.key?(:'inventory')
249
- if (value = attributes[:'inventory']).is_a?(Array)
250
- self.inventory = value
199
+ if attributes.key?(:'line_items')
200
+ if (value = attributes[:'line_items']).is_a?(Array)
201
+ self.line_items = value
251
202
  end
252
203
  end
253
204
 
@@ -267,18 +218,6 @@ module Patch
267
218
  invalid_properties.push('invalid value for "id", id cannot be nil.')
268
219
  end
269
220
 
270
- if @mass_g.nil?
271
- invalid_properties.push('invalid value for "mass_g", mass_g cannot be nil.')
272
- end
273
-
274
- if @mass_g > 100000000000
275
- invalid_properties.push('invalid value for "mass_g", must be smaller than or equal to 100000000000.')
276
- end
277
-
278
- if @mass_g < 0
279
- invalid_properties.push('invalid value for "mass_g", must be greater than or equal to 0.')
280
- end
281
-
282
221
  if @production.nil?
283
222
  invalid_properties.push('invalid value for "production", production cannot be nil.')
284
223
  end
@@ -291,8 +230,8 @@ module Patch
291
230
  invalid_properties.push('invalid value for "amount", amount cannot be nil.')
292
231
  end
293
232
 
294
- if @amount > 100000000000
295
- invalid_properties.push('invalid value for "amount", must be smaller than or equal to 100000000000.')
233
+ if @amount > 100000000000000
234
+ invalid_properties.push('invalid value for "amount", must be smaller than or equal to 100000000000000.')
296
235
  end
297
236
 
298
237
  if @amount < 0
@@ -315,10 +254,6 @@ module Patch
315
254
  invalid_properties.push('invalid value for "currency", currency cannot be nil.')
316
255
  end
317
256
 
318
- if @allocation_state.nil?
319
- invalid_properties.push('invalid value for "allocation_state", allocation_state cannot be nil.')
320
- end
321
-
322
257
  if @metadata.nil?
323
258
  invalid_properties.push('invalid value for "metadata", metadata cannot be nil.')
324
259
  end
@@ -330,45 +265,21 @@ module Patch
330
265
  # @return true if the model is valid
331
266
  def valid?
332
267
  return false if @id.nil?
333
- return false if @mass_g.nil?
334
- return false if @mass_g > 100000000000
335
- return false if @mass_g < 0
336
268
  return false if @production.nil?
337
269
  return false if @state.nil?
338
270
  state_validator = EnumAttributeValidator.new('String', ["draft", "reserved", "placed", "processing", "complete", "cancelled"])
339
271
  return false unless state_validator.valid?(@state)
340
272
  return false if @amount.nil?
341
- return false if @amount > 100000000000
273
+ return false if @amount > 100000000000000
342
274
  return false if @amount < 0
343
275
  return false if @unit.nil?
344
276
  return false if @price.nil?
345
277
  return false if @patch_fee.nil?
346
278
  return false if @currency.nil?
347
- return false if @allocation_state.nil?
348
- allocation_state_validator = EnumAttributeValidator.new('String', ["pending", "allocated"])
349
- return false unless allocation_state_validator.valid?(@allocation_state)
350
279
  return false if @metadata.nil?
351
280
  true
352
281
  end
353
282
 
354
- # Custom attribute writer method with validation
355
- # @param [Object] mass_g Value to be assigned
356
- def mass_g=(mass_g)
357
- if mass_g.nil?
358
- fail ArgumentError, 'mass_g cannot be nil'
359
- end
360
-
361
- if mass_g > 100000000000
362
- fail ArgumentError, 'invalid value for "mass_g", must be smaller than or equal to 100000000000.'
363
- end
364
-
365
- if mass_g < 0
366
- fail ArgumentError, 'invalid value for "mass_g", must be greater than or equal to 0.'
367
- end
368
-
369
- @mass_g = mass_g
370
- end
371
-
372
283
  # Custom attribute writer method checking allowed values (enum).
373
284
  # @param [Object] state Object to be assigned
374
285
  def state=(state)
@@ -386,8 +297,8 @@ module Patch
386
297
  fail ArgumentError, 'amount cannot be nil'
387
298
  end
388
299
 
389
- if amount > 100000000000
390
- fail ArgumentError, 'invalid value for "amount", must be smaller than or equal to 100000000000.'
300
+ if amount > 100000000000000
301
+ fail ArgumentError, 'invalid value for "amount", must be smaller than or equal to 100000000000000.'
391
302
  end
392
303
 
393
304
  if amount < 0
@@ -397,16 +308,6 @@ module Patch
397
308
  @amount = amount
398
309
  end
399
310
 
400
- # Custom attribute writer method checking allowed values (enum).
401
- # @param [Object] allocation_state Object to be assigned
402
- def allocation_state=(allocation_state)
403
- validator = EnumAttributeValidator.new('String', ["pending", "allocated"])
404
- unless validator.valid?(allocation_state)
405
- fail ArgumentError, "invalid value for \"allocation_state\", must be one of #{validator.allowable_values}."
406
- end
407
- @allocation_state = allocation_state
408
- end
409
-
410
311
  # Checks equality by comparing each attribute.
411
312
  # @param [Object] Object to be compared
412
313
  def ==(o)
@@ -414,7 +315,6 @@ module Patch
414
315
  self.class == o.class &&
415
316
  id == o.id &&
416
317
  created_at == o.created_at &&
417
- mass_g == o.mass_g &&
418
318
  production == o.production &&
419
319
  state == o.state &&
420
320
  amount == o.amount &&
@@ -422,13 +322,9 @@ module Patch
422
322
  price == o.price &&
423
323
  patch_fee == o.patch_fee &&
424
324
  currency == o.currency &&
425
- allocation_state == o.allocation_state &&
426
- price_cents_usd == o.price_cents_usd &&
427
- patch_fee_cents_usd == o.patch_fee_cents_usd &&
428
- allocations == o.allocations &&
429
325
  registry_url == o.registry_url &&
430
326
  metadata == o.metadata &&
431
- inventory == o.inventory &&
327
+ line_items == o.line_items &&
432
328
  issued_to == o.issued_to
433
329
  end
434
330
 
@@ -441,7 +337,7 @@ module Patch
441
337
  # Calculates hash code according to all attributes.
442
338
  # @return [Integer] Hash code
443
339
  def hash
444
- [id, created_at, mass_g, production, state, amount, unit, price, patch_fee, currency, allocation_state, price_cents_usd, patch_fee_cents_usd, allocations, registry_url, metadata, inventory, issued_to].hash
340
+ [id, created_at, production, state, amount, unit, price, patch_fee, currency, registry_url, metadata, line_items, issued_to].hash
445
341
  end
446
342
 
447
343
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Patch API V1
2
+ #Patch API V2
3
3
 
4
4
  #The core API used to integrate with Patch's service
5
5
 
6
- The version of the OpenAPI document: v1
6
+ The version of the OpenAPI document: 2
7
7
  Contact: engineering@usepatch.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.3.1
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Patch API V1
2
+ #Patch API V2
3
3
 
4
4
  #The core API used to integrate with Patch's service
5
5
 
6
- The version of the OpenAPI document: v1
6
+ The version of the OpenAPI document: 2
7
7
  Contact: engineering@usepatch.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.3.1
@@ -14,13 +14,22 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Patch
17
- class OrderInventory
17
+ class OrderLineItem
18
+ # The identifier for this order line item
19
+ attr_accessor :id
20
+
18
21
  # An object containing information about the project associated with the inventory allocated.
19
22
  attr_accessor :project
20
23
 
21
24
  # The year in which the climate impacts of the project occurred, or will occur.
22
25
  attr_accessor :vintage_year
23
26
 
27
+ # The starting year in which the climate impacts of the project occurred, or will occur.
28
+ attr_accessor :vintage_start_year
29
+
30
+ # The ending year in which the climate impacts of the project occurred, or will occur.
31
+ attr_accessor :vintage_end_year
32
+
24
33
  # The amount ordered for the given project and vintage year.
25
34
  attr_accessor :amount
26
35
 
@@ -36,8 +45,11 @@ module Patch
36
45
  # Attribute mapping from ruby-style variable name to JSON key.
37
46
  def self.attribute_map
38
47
  {
48
+ :'id' => :'id',
39
49
  :'project' => :'project',
40
50
  :'vintage_year' => :'vintage_year',
51
+ :'vintage_start_year' => :'vintage_start_year',
52
+ :'vintage_end_year' => :'vintage_end_year',
41
53
  :'amount' => :'amount',
42
54
  :'unit' => :'unit',
43
55
  :'price' => :'price',
@@ -53,8 +65,11 @@ module Patch
53
65
  # Attribute type mapping.
54
66
  def self.openapi_types
55
67
  {
56
- :'project' => :'OrderInventoryProject',
68
+ :'id' => :'String',
69
+ :'project' => :'OrderLineItemProject',
57
70
  :'vintage_year' => :'Integer',
71
+ :'vintage_start_year' => :'Integer',
72
+ :'vintage_end_year' => :'Integer',
58
73
  :'amount' => :'Integer',
59
74
  :'unit' => :'String',
60
75
  :'price' => :'Integer',
@@ -73,8 +88,8 @@ module Patch
73
88
  # Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
74
89
  # Eg. Order.create_order delegates to OrdersApi.new.create_order
75
90
  def self.method_missing(message, *args, &block)
76
- if Object.const_defined?('Patch::OrderInventorysApi::OPERATIONS') && Patch::OrderInventorysApi::OPERATIONS.include?(message)
77
- Patch::OrderInventorysApi.new.send(message, *args)
91
+ if Object.const_defined?('Patch::OrderLineItemsApi::OPERATIONS') && Patch::OrderLineItemsApi::OPERATIONS.include?(message)
92
+ Patch::OrderLineItemsApi.new.send(message, *args)
78
93
  else
79
94
  super
80
95
  end
@@ -84,17 +99,21 @@ module Patch
84
99
  # @param [Hash] attributes Model attributes in the form of hash
85
100
  def initialize(attributes = {})
86
101
  if (!attributes.is_a?(Hash))
87
- fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::OrderInventory` initialize method"
102
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::OrderLineItem` initialize method"
88
103
  end
89
104
 
90
105
  # check to see if the attribute exists and convert string to symbol for hash key
91
106
  attributes = attributes.each_with_object({}) { |(k, v), h|
92
107
  if (!self.class.attribute_map.key?(k.to_sym))
93
- fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::OrderInventory`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::OrderLineItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
94
109
  end
95
110
  h[k.to_sym] = v
96
111
  }
97
112
 
113
+ if attributes.key?(:'id')
114
+ self.id = attributes[:'id']
115
+ end
116
+
98
117
  if attributes.key?(:'project')
99
118
  if (value = attributes[:'project']).is_a?(Hash)
100
119
  self.project = value
@@ -106,6 +125,14 @@ module Patch
106
125
  self.vintage_year = attributes[:'vintage_year']
107
126
  end
108
127
 
128
+ if attributes.key?(:'vintage_start_year')
129
+ self.vintage_start_year = attributes[:'vintage_start_year']
130
+ end
131
+
132
+ if attributes.key?(:'vintage_end_year')
133
+ self.vintage_end_year = attributes[:'vintage_end_year']
134
+ end
135
+
109
136
  if attributes.key?(:'amount')
110
137
  self.amount = attributes[:'amount']
111
138
  end
@@ -135,6 +162,14 @@ module Patch
135
162
  invalid_properties.push('invalid value for "vintage_year", vintage_year cannot be nil.')
136
163
  end
137
164
 
165
+ if @vintage_start_year.nil?
166
+ invalid_properties.push('invalid value for "vintage_start_year", vintage_start_year cannot be nil.')
167
+ end
168
+
169
+ if @vintage_end_year.nil?
170
+ invalid_properties.push('invalid value for "vintage_end_year", vintage_end_year cannot be nil.')
171
+ end
172
+
138
173
  if @amount.nil?
139
174
  invalid_properties.push('invalid value for "amount", amount cannot be nil.')
140
175
  end
@@ -159,6 +194,8 @@ module Patch
159
194
  def valid?
160
195
  return false if @project.nil?
161
196
  return false if @vintage_year.nil?
197
+ return false if @vintage_start_year.nil?
198
+ return false if @vintage_end_year.nil?
162
199
  return false if @amount.nil?
163
200
  return false if @unit.nil?
164
201
  return false if @price.nil?
@@ -171,8 +208,11 @@ module Patch
171
208
  def ==(o)
172
209
  return true if self.equal?(o)
173
210
  self.class == o.class &&
211
+ id == o.id &&
174
212
  project == o.project &&
175
213
  vintage_year == o.vintage_year &&
214
+ vintage_start_year == o.vintage_start_year &&
215
+ vintage_end_year == o.vintage_end_year &&
176
216
  amount == o.amount &&
177
217
  unit == o.unit &&
178
218
  price == o.price &&
@@ -188,7 +228,7 @@ module Patch
188
228
  # Calculates hash code according to all attributes.
189
229
  # @return [Integer] Hash code
190
230
  def hash
191
- [project, vintage_year, amount, unit, price, currency].hash
231
+ [id, project, vintage_year, vintage_start_year, vintage_end_year, amount, unit, price, currency].hash
192
232
  end
193
233
 
194
234
  # Builds the object from hash
@@ -1,9 +1,9 @@
1
1
  =begin
2
- #Patch API V1
2
+ #Patch API V2
3
3
 
4
4
  #The core API used to integrate with Patch's service
5
5
 
6
- The version of the OpenAPI document: v1
6
+ The version of the OpenAPI document: 2
7
7
  Contact: engineering@usepatch.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.3.1
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Patch
17
- class OrderInventoryProject
17
+ class OrderLineItemProject
18
18
  # The unique uid for a project. UIDs will be prepended by pro_prod or pro_test depending on the mode it was created in.
19
19
  attr_accessor :id
20
20
 
@@ -53,8 +53,8 @@ module Patch
53
53
  # Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
54
54
  # Eg. Order.create_order delegates to OrdersApi.new.create_order
55
55
  def self.method_missing(message, *args, &block)
56
- if Object.const_defined?('Patch::OrderInventoryProjectsApi::OPERATIONS') && Patch::OrderInventoryProjectsApi::OPERATIONS.include?(message)
57
- Patch::OrderInventoryProjectsApi.new.send(message, *args)
56
+ if Object.const_defined?('Patch::OrderLineItemProjectsApi::OPERATIONS') && Patch::OrderLineItemProjectsApi::OPERATIONS.include?(message)
57
+ Patch::OrderLineItemProjectsApi.new.send(message, *args)
58
58
  else
59
59
  super
60
60
  end
@@ -64,13 +64,13 @@ module Patch
64
64
  # @param [Hash] attributes Model attributes in the form of hash
65
65
  def initialize(attributes = {})
66
66
  if (!attributes.is_a?(Hash))
67
- fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::OrderInventoryProject` initialize method"
67
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::OrderLineItemProject` initialize method"
68
68
  end
69
69
 
70
70
  # check to see if the attribute exists and convert string to symbol for hash key
71
71
  attributes = attributes.each_with_object({}) { |(k, v), h|
72
72
  if (!self.class.attribute_map.key?(k.to_sym))
73
- fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::OrderInventoryProject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::OrderLineItemProject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
74
74
  end
75
75
  h[k.to_sym] = v
76
76
  }