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
@@ -0,0 +1,434 @@
1
+ =begin
2
+ #Patch API V2
3
+
4
+ #The core API used to integrate with Patch's service
5
+
6
+ The version of the OpenAPI document: 2
7
+ Contact: engineering@usepatch.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Patch
17
+ class UpdateOrderLineItemRequest
18
+ attr_accessor :vintage_year
19
+
20
+ attr_accessor :vintage_start_year
21
+
22
+ attr_accessor :vintage_end_year
23
+
24
+ attr_accessor :price
25
+
26
+ attr_accessor :currency
27
+
28
+ attr_accessor :amount
29
+
30
+ attr_accessor :unit
31
+
32
+ class EnumAttributeValidator
33
+ attr_reader :datatype
34
+ attr_reader :allowable_values
35
+
36
+ def initialize(datatype, allowable_values)
37
+ @allowable_values = allowable_values.map do |value|
38
+ case datatype.to_s
39
+ when /Integer/i
40
+ value.to_i
41
+ when /Float/i
42
+ value.to_f
43
+ else
44
+ value
45
+ end
46
+ end
47
+ end
48
+
49
+ def valid?(value)
50
+ !value || allowable_values.include?(value)
51
+ end
52
+ end
53
+
54
+ # Attribute mapping from ruby-style variable name to JSON key.
55
+ def self.attribute_map
56
+ {
57
+ :'vintage_year' => :'vintage_year',
58
+ :'vintage_start_year' => :'vintage_start_year',
59
+ :'vintage_end_year' => :'vintage_end_year',
60
+ :'price' => :'price',
61
+ :'currency' => :'currency',
62
+ :'amount' => :'amount',
63
+ :'unit' => :'unit'
64
+ }
65
+ end
66
+
67
+ # Returns all the JSON keys this model knows about
68
+ def self.acceptable_attributes
69
+ attribute_map.values
70
+ end
71
+
72
+ # Attribute type mapping.
73
+ def self.openapi_types
74
+ {
75
+ :'vintage_year' => :'Integer',
76
+ :'vintage_start_year' => :'Integer',
77
+ :'vintage_end_year' => :'Integer',
78
+ :'price' => :'Integer',
79
+ :'currency' => :'String',
80
+ :'amount' => :'Integer',
81
+ :'unit' => :'String'
82
+ }
83
+ end
84
+
85
+ # List of attributes with nullable: true
86
+ def self.openapi_nullable
87
+ Set.new([
88
+ :'vintage_year',
89
+ :'vintage_start_year',
90
+ :'vintage_end_year',
91
+ :'price',
92
+ :'currency',
93
+ :'amount',
94
+ :'unit'
95
+ ])
96
+ end
97
+
98
+
99
+ # Allows models with corresponding API classes to delegate API operations to those API classes
100
+ # Exposes Model.operation_id which delegates to ModelsApi.new.operation_id
101
+ # Eg. Order.create_order delegates to OrdersApi.new.create_order
102
+ def self.method_missing(message, *args, &block)
103
+ if Object.const_defined?('Patch::UpdateOrderLineItemRequestsApi::OPERATIONS') && Patch::UpdateOrderLineItemRequestsApi::OPERATIONS.include?(message)
104
+ Patch::UpdateOrderLineItemRequestsApi.new.send(message, *args)
105
+ else
106
+ super
107
+ end
108
+ end
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ def initialize(attributes = {})
113
+ if (!attributes.is_a?(Hash))
114
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Patch::UpdateOrderLineItemRequest` initialize method"
115
+ end
116
+
117
+ # check to see if the attribute exists and convert string to symbol for hash key
118
+ attributes = attributes.each_with_object({}) { |(k, v), h|
119
+ if (!self.class.attribute_map.key?(k.to_sym))
120
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Patch::UpdateOrderLineItemRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
121
+ end
122
+ h[k.to_sym] = v
123
+ }
124
+
125
+ if attributes.key?(:'vintage_year')
126
+ self.vintage_year = attributes[:'vintage_year']
127
+ end
128
+
129
+ if attributes.key?(:'vintage_start_year')
130
+ self.vintage_start_year = attributes[:'vintage_start_year']
131
+ end
132
+
133
+ if attributes.key?(:'vintage_end_year')
134
+ self.vintage_end_year = attributes[:'vintage_end_year']
135
+ end
136
+
137
+ if attributes.key?(:'price')
138
+ self.price = attributes[:'price']
139
+ end
140
+
141
+ if attributes.key?(:'currency')
142
+ self.currency = attributes[:'currency']
143
+ end
144
+
145
+ if attributes.key?(:'amount')
146
+ self.amount = attributes[:'amount']
147
+ end
148
+
149
+ if attributes.key?(:'unit')
150
+ self.unit = attributes[:'unit']
151
+ end
152
+ end
153
+
154
+ # Show invalid properties with the reasons. Usually used together with valid?
155
+ # @return Array for valid properties with the reasons
156
+ def list_invalid_properties
157
+ invalid_properties = Array.new
158
+ if !@vintage_year.nil? && @vintage_year > 2100
159
+ invalid_properties.push('invalid value for "vintage_year", must be smaller than or equal to 2100.')
160
+ end
161
+
162
+ if !@vintage_year.nil? && @vintage_year < 1900
163
+ invalid_properties.push('invalid value for "vintage_year", must be greater than or equal to 1900.')
164
+ end
165
+
166
+ if !@vintage_start_year.nil? && @vintage_start_year > 2100
167
+ invalid_properties.push('invalid value for "vintage_start_year", must be smaller than or equal to 2100.')
168
+ end
169
+
170
+ if !@vintage_start_year.nil? && @vintage_start_year < 1900
171
+ invalid_properties.push('invalid value for "vintage_start_year", must be greater than or equal to 1900.')
172
+ end
173
+
174
+ if !@vintage_end_year.nil? && @vintage_end_year > 2100
175
+ invalid_properties.push('invalid value for "vintage_end_year", must be smaller than or equal to 2100.')
176
+ end
177
+
178
+ if !@vintage_end_year.nil? && @vintage_end_year < 1900
179
+ invalid_properties.push('invalid value for "vintage_end_year", must be greater than or equal to 1900.')
180
+ end
181
+
182
+ if !@price.nil? && @price < 2
183
+ invalid_properties.push('invalid value for "price", must be greater than or equal to 2.')
184
+ end
185
+
186
+ if !@amount.nil? && @amount > 100000000000000
187
+ invalid_properties.push('invalid value for "amount", must be smaller than or equal to 100000000000000.')
188
+ end
189
+
190
+ if !@amount.nil? && @amount < 0
191
+ invalid_properties.push('invalid value for "amount", must be greater than or equal to 0.')
192
+ end
193
+
194
+ invalid_properties
195
+ end
196
+
197
+ # Check to see if the all the properties in the model are valid
198
+ # @return true if the model is valid
199
+ def valid?
200
+ return false if !@vintage_year.nil? && @vintage_year > 2100
201
+ return false if !@vintage_year.nil? && @vintage_year < 1900
202
+ return false if !@vintage_start_year.nil? && @vintage_start_year > 2100
203
+ return false if !@vintage_start_year.nil? && @vintage_start_year < 1900
204
+ return false if !@vintage_end_year.nil? && @vintage_end_year > 2100
205
+ return false if !@vintage_end_year.nil? && @vintage_end_year < 1900
206
+ return false if !@price.nil? && @price < 2
207
+ return false if !@amount.nil? && @amount > 100000000000000
208
+ return false if !@amount.nil? && @amount < 0
209
+ unit_validator = EnumAttributeValidator.new('String', ["g", "Wh"])
210
+ return false unless unit_validator.valid?(@unit)
211
+ true
212
+ end
213
+
214
+ # Custom attribute writer method with validation
215
+ # @param [Object] vintage_year Value to be assigned
216
+ def vintage_year=(vintage_year)
217
+ if !vintage_year.nil? && vintage_year > 2100
218
+ fail ArgumentError, 'invalid value for "vintage_year", must be smaller than or equal to 2100.'
219
+ end
220
+
221
+ if !vintage_year.nil? && vintage_year < 1900
222
+ fail ArgumentError, 'invalid value for "vintage_year", must be greater than or equal to 1900.'
223
+ end
224
+
225
+ @vintage_year = vintage_year
226
+ end
227
+
228
+ # Custom attribute writer method with validation
229
+ # @param [Object] vintage_start_year Value to be assigned
230
+ def vintage_start_year=(vintage_start_year)
231
+ if !vintage_start_year.nil? && vintage_start_year > 2100
232
+ fail ArgumentError, 'invalid value for "vintage_start_year", must be smaller than or equal to 2100.'
233
+ end
234
+
235
+ if !vintage_start_year.nil? && vintage_start_year < 1900
236
+ fail ArgumentError, 'invalid value for "vintage_start_year", must be greater than or equal to 1900.'
237
+ end
238
+
239
+ @vintage_start_year = vintage_start_year
240
+ end
241
+
242
+ # Custom attribute writer method with validation
243
+ # @param [Object] vintage_end_year Value to be assigned
244
+ def vintage_end_year=(vintage_end_year)
245
+ if !vintage_end_year.nil? && vintage_end_year > 2100
246
+ fail ArgumentError, 'invalid value for "vintage_end_year", must be smaller than or equal to 2100.'
247
+ end
248
+
249
+ if !vintage_end_year.nil? && vintage_end_year < 1900
250
+ fail ArgumentError, 'invalid value for "vintage_end_year", must be greater than or equal to 1900.'
251
+ end
252
+
253
+ @vintage_end_year = vintage_end_year
254
+ end
255
+
256
+ # Custom attribute writer method with validation
257
+ # @param [Object] price Value to be assigned
258
+ def price=(price)
259
+ if !price.nil? && price < 2
260
+ fail ArgumentError, 'invalid value for "price", must be greater than or equal to 2.'
261
+ end
262
+
263
+ @price = price
264
+ end
265
+
266
+ # Custom attribute writer method with validation
267
+ # @param [Object] amount Value to be assigned
268
+ def amount=(amount)
269
+ if !amount.nil? && amount > 100000000000000
270
+ fail ArgumentError, 'invalid value for "amount", must be smaller than or equal to 100000000000000.'
271
+ end
272
+
273
+ if !amount.nil? && amount < 0
274
+ fail ArgumentError, 'invalid value for "amount", must be greater than or equal to 0.'
275
+ end
276
+
277
+ @amount = amount
278
+ end
279
+
280
+ # Custom attribute writer method checking allowed values (enum).
281
+ # @param [Object] unit Object to be assigned
282
+ def unit=(unit)
283
+ validator = EnumAttributeValidator.new('String', ["g", "Wh"])
284
+ unless validator.valid?(unit)
285
+ fail ArgumentError, "invalid value for \"unit\", must be one of #{validator.allowable_values}."
286
+ end
287
+ @unit = unit
288
+ end
289
+
290
+ # Checks equality by comparing each attribute.
291
+ # @param [Object] Object to be compared
292
+ def ==(o)
293
+ return true if self.equal?(o)
294
+ self.class == o.class &&
295
+ vintage_year == o.vintage_year &&
296
+ vintage_start_year == o.vintage_start_year &&
297
+ vintage_end_year == o.vintage_end_year &&
298
+ price == o.price &&
299
+ currency == o.currency &&
300
+ amount == o.amount &&
301
+ unit == o.unit
302
+ end
303
+
304
+ # @see the `==` method
305
+ # @param [Object] Object to be compared
306
+ def eql?(o)
307
+ self == o
308
+ end
309
+
310
+ # Calculates hash code according to all attributes.
311
+ # @return [Integer] Hash code
312
+ def hash
313
+ [vintage_year, vintage_start_year, vintage_end_year, price, currency, amount, unit].hash
314
+ end
315
+
316
+ # Builds the object from hash
317
+ # @param [Hash] attributes Model attributes in the form of hash
318
+ # @return [Object] Returns the model itself
319
+ def self.build_from_hash(attributes)
320
+ new.build_from_hash(attributes)
321
+ end
322
+
323
+ # Builds the object from hash
324
+ # @param [Hash] attributes Model attributes in the form of hash
325
+ # @return [Object] Returns the model itself
326
+ def build_from_hash(attributes)
327
+ return nil unless attributes.is_a?(Hash)
328
+ self.class.openapi_types.each_pair do |key, type|
329
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
330
+ self.send("#{key}=", nil)
331
+ elsif type =~ /\AArray<(.*)>/i
332
+ # check to ensure the input is an array given that the attribute
333
+ # is documented as an array but the input is not
334
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
335
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
336
+ end
337
+ elsif !attributes[self.class.attribute_map[key]].nil?
338
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
339
+ end
340
+ end
341
+
342
+ self
343
+ end
344
+
345
+ # Deserializes the data based on type
346
+ # @param string type Data type
347
+ # @param string value Value to be deserialized
348
+ # @return [Object] Deserialized data
349
+ def _deserialize(type, value)
350
+ case type.to_sym
351
+ when :Time
352
+ Time.parse(value)
353
+ when :Date
354
+ Date.parse(value)
355
+ when :String
356
+ value.to_s
357
+ when :Integer
358
+ value.to_i
359
+ when :Float
360
+ value.to_f
361
+ when :Boolean
362
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
363
+ true
364
+ else
365
+ false
366
+ end
367
+ when :Object
368
+ # generic object (usually a Hash), return directly
369
+ value
370
+ when /\AArray<(?<inner_type>.+)>\z/
371
+ inner_type = Regexp.last_match[:inner_type]
372
+ value.map { |v| _deserialize(inner_type, v) }
373
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
374
+ k_type = Regexp.last_match[:k_type]
375
+ v_type = Regexp.last_match[:v_type]
376
+ {}.tap do |hash|
377
+ value.each do |k, v|
378
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
379
+ end
380
+ end
381
+ else # model
382
+ # models (e.g. Pet) or oneOf
383
+ klass = Patch.const_get(type)
384
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
385
+ end
386
+ end
387
+
388
+ # Returns the string representation of the object
389
+ # @return [String] String presentation of the object
390
+ def to_s
391
+ to_hash.to_s
392
+ end
393
+
394
+ # to_body is an alias to to_hash (backward compatibility)
395
+ # @return [Hash] Returns the object in the form of hash
396
+ def to_body
397
+ to_hash
398
+ end
399
+
400
+ # Returns the object in the form of hash
401
+ # @return [Hash] Returns the object in the form of hash
402
+ def to_hash
403
+ hash = {}
404
+ self.class.attribute_map.each_pair do |attr, param|
405
+ value = self.send(attr)
406
+ if value.nil?
407
+ is_nullable = self.class.openapi_nullable.include?(attr)
408
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
409
+ end
410
+
411
+ hash[param] = _to_hash(value)
412
+ end
413
+ hash
414
+ end
415
+
416
+ # Outputs non-array value in the form of hash
417
+ # For object, use to_hash. Otherwise, just return the value
418
+ # @param [Object] value Any valid value
419
+ # @return [Hash] Returns the value in the form of hash
420
+ def _to_hash(value)
421
+ if value.is_a?(Array)
422
+ value.compact.map { |v| _to_hash(v) }
423
+ elsif value.is_a?(Hash)
424
+ {}.tap do |hash|
425
+ value.each { |k, v| hash[k] = _to_hash(v) }
426
+ end
427
+ elsif value.respond_to? :to_hash
428
+ value.to_hash
429
+ else
430
+ value
431
+ end
432
+ end
433
+ end
434
+ end
@@ -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
@@ -11,5 +11,5 @@ OpenAPI Generator version: 5.3.1
11
11
  =end
12
12
 
13
13
  module Patch
14
- VERSION = '1.24.2'
14
+ VERSION = '2.1.1'
15
15
  end
data/lib/patch_ruby.rb CHANGED
@@ -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
@@ -17,7 +17,6 @@ require 'patch_ruby/version'
17
17
  require 'patch_ruby/configuration'
18
18
 
19
19
  # Models
20
- require 'patch_ruby/models/allocation'
21
20
  require 'patch_ruby/models/create_air_shipping_estimate_request'
22
21
  require 'patch_ruby/models/create_bitcoin_estimate_request'
23
22
  require 'patch_ruby/models/create_ecommerce_estimate_request'
@@ -25,6 +24,7 @@ require 'patch_ruby/models/create_ethereum_estimate_request'
25
24
  require 'patch_ruby/models/create_flight_estimate_request'
26
25
  require 'patch_ruby/models/create_hotel_estimate_request'
27
26
  require 'patch_ruby/models/create_mass_estimate_request'
27
+ require 'patch_ruby/models/create_order_line_item_request'
28
28
  require 'patch_ruby/models/create_order_request'
29
29
  require 'patch_ruby/models/create_rail_shipping_estimate_request'
30
30
  require 'patch_ruby/models/create_road_shipping_estimate_request'
@@ -32,6 +32,9 @@ require 'patch_ruby/models/create_sea_shipping_estimate_request'
32
32
  require 'patch_ruby/models/create_shipping_estimate_request'
33
33
  require 'patch_ruby/models/create_success_response'
34
34
  require 'patch_ruby/models/create_vehicle_estimate_request'
35
+ require 'patch_ruby/models/delete_order_line_item_response'
36
+ require 'patch_ruby/models/delete_order_response'
37
+ require 'patch_ruby/models/disclaimer'
35
38
  require 'patch_ruby/models/error_response'
36
39
  require 'patch_ruby/models/estimate'
37
40
  require 'patch_ruby/models/estimate_list_response'
@@ -40,9 +43,10 @@ require 'patch_ruby/models/highlight'
40
43
  require 'patch_ruby/models/inventory'
41
44
  require 'patch_ruby/models/meta_index_object'
42
45
  require 'patch_ruby/models/order'
43
- require 'patch_ruby/models/order_inventory'
44
- require 'patch_ruby/models/order_inventory_project'
45
46
  require 'patch_ruby/models/order_issued_to'
47
+ require 'patch_ruby/models/order_line_item'
48
+ require 'patch_ruby/models/order_line_item_project'
49
+ require 'patch_ruby/models/order_line_item_response'
46
50
  require 'patch_ruby/models/order_list_response'
47
51
  require 'patch_ruby/models/order_response'
48
52
  require 'patch_ruby/models/parent_technology_type'
@@ -55,9 +59,11 @@ require 'patch_ruby/models/sdg'
55
59
  require 'patch_ruby/models/standard'
56
60
  require 'patch_ruby/models/technology_type'
57
61
  require 'patch_ruby/models/technology_type_list_response'
62
+ require 'patch_ruby/models/update_order_line_item_request'
58
63
 
59
64
  # APIs
60
65
  require 'patch_ruby/api/estimates_api'
66
+ require 'patch_ruby/api/order_line_items_api'
61
67
  require 'patch_ruby/api/orders_api'
62
68
  require 'patch_ruby/api/projects_api'
63
69
  require 'patch_ruby/api/technology_types_api'
data/patch_ruby.gemspec CHANGED
@@ -1,11 +1,11 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  =begin
4
- #Patch API V1
4
+ #Patch API V2
5
5
 
6
6
  #The core API used to integrate with Patch's service
7
7
 
8
- The version of the OpenAPI document: v1
8
+ The version of the OpenAPI document: 2
9
9
  Contact: engineering@usepatch.com
10
10
  Generated by: https://openapi-generator.tech
11
11
  OpenAPI Generator version: 5.3.1
@@ -0,0 +1,78 @@
1
+ =begin
2
+ #Patch API V2
3
+
4
+ #The core API used to integrate with Patch's service
5
+
6
+ The version of the OpenAPI document: 2
7
+ Contact: engineering@usepatch.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.3.1
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Patch::OrderLineItemsApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'OrderLineItemsApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = Patch::OrderLineItemsApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of OrderLineItemsApi' do
30
+ it 'should create an instance of OrderLineItemsApi' do
31
+ expect(@api_instance).to be_instance_of(Patch::OrderLineItemsApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for create_order_line_item
36
+ # Creates an order line item
37
+ # Creates a line item on an order that is in the &#x60;draft&#x60; state.
38
+ # @param order_id
39
+ # @param create_order_line_item_request
40
+ # @param [Hash] opts the optional parameters
41
+ # @option opts [Integer] :patch_version
42
+ # @return [OrderLineItemResponse]
43
+ describe 'create_order_line_item test' do
44
+ it 'should work' do
45
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
46
+ end
47
+ end
48
+
49
+ # unit tests for delete_order_line_item
50
+ # Deletes an order line item
51
+ # Deletes a line item on an order that is in the &#x60;draft&#x60; state.
52
+ # @param order_id
53
+ # @param serial_number
54
+ # @param [Hash] opts the optional parameters
55
+ # @option opts [Integer] :patch_version
56
+ # @return [DeleteOrderLineItemResponse]
57
+ describe 'delete_order_line_item test' do
58
+ it 'should work' do
59
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
60
+ end
61
+ end
62
+
63
+ # unit tests for update_order_line_item
64
+ # Updates an order line item
65
+ # Updates a line item on an order that is in the &#x60;draft&#x60; state.
66
+ # @param order_id
67
+ # @param serial_number
68
+ # @param update_order_line_item_request
69
+ # @param [Hash] opts the optional parameters
70
+ # @option opts [Integer] :patch_version
71
+ # @return [OrderLineItemResponse]
72
+ describe 'update_order_line_item test' do
73
+ it 'should work' do
74
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
75
+ end
76
+ end
77
+
78
+ end
@@ -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
@@ -1,8 +1,10 @@
1
1
  FactoryBot.define do
2
2
  factory :create_order_request, class: Patch::CreateOrderRequest do
3
3
  sequence(:project_id) { |n| n }
4
- mass_g { 100 }
5
- total_price_cents_usd { 100 }
4
+ amount { 100 }
5
+ unit { "g" }
6
+ total_price { 100 }
7
+ currency { "USD" }
6
8
  metadata { {} }
7
9
  end
8
10
  end
@@ -1,12 +1,13 @@
1
1
  FactoryBot.define do
2
2
  factory :order, class: Patch::Order do
3
3
  sequence(:id) { |n| n }
4
- mass_g { 1_000 }
4
+ amount { 1_000 }
5
+ unit { "g" }
5
6
  production { false }
6
7
  state { "draft" }
7
- allocation_state { "pending" }
8
- price_cents_usd { 500 }
9
- patch_fee_cents_usd { 5 }
8
+ price { 500 }
9
+ patch_fee { 5 }
10
+ currency { "USD" }
10
11
  metadata { {} }
11
12
  end
12
13
  end
@@ -7,12 +7,9 @@ FactoryBot.define do
7
7
  production { false }
8
8
  name { "New Project" }
9
9
  description { "New Descirption" }
10
- type { "biomass" }
11
10
  country { "DK" }
12
- developer { "Danish Developer" }
11
+ project_partner { "Danish Developer" }
13
12
  photos { [] }
14
- average_price_per_tonne_cents_usd { 120 }
15
- remaining_mass_g { 1_000 }
16
13
  standard { 'european_biochar_certificate' }
17
14
  state { 'CO' }
18
15
  latitude { 45.0 }
@@ -86,7 +86,7 @@ RSpec.describe 'Estimates Integration' do
86
86
  create_order: false
87
87
  )
88
88
 
89
- expect(create_estimate_response.data.type).to eq 'shipping'
89
+ expect(create_estimate_response.data.type).to eq 'ecommerce'
90
90
  expect(create_estimate_response.data.mass_g).to be >= 10_000
91
91
  end
92
92