patch_ruby 1.24.2 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  }