patch_ruby 1.17.1 → 1.18.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/lib/patch_ruby/api/orders_api.rb +2 -2
- data/lib/patch_ruby/api_client.rb +1 -1
- data/lib/patch_ruby/models/create_order_request.rb +47 -4
- data/lib/patch_ruby/version.rb +1 -1
- data/spec/integration/orders_spec.rb +11 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3312ae1bca095a1ee4b912f2267748f57818ef9be2c10febd7bf5f8095bf15a4
|
4
|
+
data.tar.gz: dc08f9414555d65f420a2b8bae74a44c582b15a9702f40bd1e8a875cb094d637
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdf4400660c261231c72654cdead5108cfe90ff6d02457b9057ae7bb8537c55f19e2edb7004604b5d9a39474d5da9222bc8ffded005e808b0c0ab718186eec15
|
7
|
+
data.tar.gz: 4680eafea0b29e4eef4a8e393c56d4b0c9ad12828fa255535035e5fa786a86ef5237cfe0bb715270e3a2b376241d2e42294eb36444da17e17452d7e606d218f9
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
+
## [1.18.0] - 2022-03-22
|
9
|
+
### Changed
|
10
|
+
|
11
|
+
- Adds optional `state` field to `order` creation
|
12
|
+
|
8
13
|
## [1.17.0] - 2022-01-11
|
9
14
|
|
10
15
|
### Changed
|
data/Gemfile.lock
CHANGED
@@ -92,7 +92,7 @@ module Patch
|
|
92
92
|
end
|
93
93
|
|
94
94
|
# Creates an order
|
95
|
-
# Creates an order in the `placed`
|
95
|
+
# Creates an order in the `placed` or `draft` state.
|
96
96
|
# @param create_order_request [CreateOrderRequest]
|
97
97
|
# @param [Hash] opts the optional parameters
|
98
98
|
# @return [OrderResponse]
|
@@ -103,7 +103,7 @@ module Patch
|
|
103
103
|
end
|
104
104
|
|
105
105
|
# Creates an order
|
106
|
-
# Creates an order in the `placed`
|
106
|
+
# Creates an order in the `placed` or `draft` state.
|
107
107
|
# @param create_order_request [CreateOrderRequest]
|
108
108
|
# @param [Hash] opts the optional parameters
|
109
109
|
# @return [Array<(OrderResponse, Integer, Hash)>] OrderResponse data, response status code and response headers
|
@@ -31,7 +31,7 @@ module Patch
|
|
31
31
|
# @option config [Configuration] Configuration for initializing the object, default to Configuration.default
|
32
32
|
def initialize(config = Configuration.default)
|
33
33
|
@config = config
|
34
|
-
@user_agent = "patch-ruby/1.
|
34
|
+
@user_agent = "patch-ruby/1.18.0"
|
35
35
|
@default_headers = {
|
36
36
|
'Content-Type' => 'application/json',
|
37
37
|
'User-Agent' => @user_agent
|
@@ -23,13 +23,38 @@ module Patch
|
|
23
23
|
|
24
24
|
attr_accessor :metadata
|
25
25
|
|
26
|
+
attr_accessor :state
|
27
|
+
|
28
|
+
class EnumAttributeValidator
|
29
|
+
attr_reader :datatype
|
30
|
+
attr_reader :allowable_values
|
31
|
+
|
32
|
+
def initialize(datatype, allowable_values)
|
33
|
+
@allowable_values = allowable_values.map do |value|
|
34
|
+
case datatype.to_s
|
35
|
+
when /Integer/i
|
36
|
+
value.to_i
|
37
|
+
when /Float/i
|
38
|
+
value.to_f
|
39
|
+
else
|
40
|
+
value
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def valid?(value)
|
46
|
+
!value || allowable_values.include?(value)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
26
50
|
# Attribute mapping from ruby-style variable name to JSON key.
|
27
51
|
def self.attribute_map
|
28
52
|
{
|
29
53
|
:'mass_g' => :'mass_g',
|
30
54
|
:'total_price_cents_usd' => :'total_price_cents_usd',
|
31
55
|
:'project_id' => :'project_id',
|
32
|
-
:'metadata' => :'metadata'
|
56
|
+
:'metadata' => :'metadata',
|
57
|
+
:'state' => :'state'
|
33
58
|
}
|
34
59
|
end
|
35
60
|
|
@@ -44,7 +69,8 @@ module Patch
|
|
44
69
|
:'mass_g' => :'Integer',
|
45
70
|
:'total_price_cents_usd' => :'Integer',
|
46
71
|
:'project_id' => :'String',
|
47
|
-
:'metadata' => :'Object'
|
72
|
+
:'metadata' => :'Object',
|
73
|
+
:'state' => :'String'
|
48
74
|
}
|
49
75
|
end
|
50
76
|
|
@@ -96,6 +122,10 @@ module Patch
|
|
96
122
|
if attributes.key?(:'metadata')
|
97
123
|
self.metadata = attributes[:'metadata']
|
98
124
|
end
|
125
|
+
|
126
|
+
if attributes.key?(:'state')
|
127
|
+
self.state = attributes[:'state']
|
128
|
+
end
|
99
129
|
end
|
100
130
|
|
101
131
|
# Show invalid properties with the reasons. Usually used together with valid?
|
@@ -123,6 +153,8 @@ module Patch
|
|
123
153
|
return false if !@mass_g.nil? && @mass_g > 100000000000
|
124
154
|
return false if !@mass_g.nil? && @mass_g < 0
|
125
155
|
return false if !@total_price_cents_usd.nil? && @total_price_cents_usd < 1
|
156
|
+
state_validator = EnumAttributeValidator.new('String', ["draft", "placed"])
|
157
|
+
return false unless state_validator.valid?(@state)
|
126
158
|
true
|
127
159
|
end
|
128
160
|
|
@@ -150,6 +182,16 @@ module Patch
|
|
150
182
|
@total_price_cents_usd = total_price_cents_usd
|
151
183
|
end
|
152
184
|
|
185
|
+
# Custom attribute writer method checking allowed values (enum).
|
186
|
+
# @param [Object] state Object to be assigned
|
187
|
+
def state=(state)
|
188
|
+
validator = EnumAttributeValidator.new('String', ["draft", "placed"])
|
189
|
+
unless validator.valid?(state)
|
190
|
+
fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
|
191
|
+
end
|
192
|
+
@state = state
|
193
|
+
end
|
194
|
+
|
153
195
|
# Checks equality by comparing each attribute.
|
154
196
|
# @param [Object] Object to be compared
|
155
197
|
def ==(o)
|
@@ -158,7 +200,8 @@ module Patch
|
|
158
200
|
mass_g == o.mass_g &&
|
159
201
|
total_price_cents_usd == o.total_price_cents_usd &&
|
160
202
|
project_id == o.project_id &&
|
161
|
-
metadata == o.metadata
|
203
|
+
metadata == o.metadata &&
|
204
|
+
state == o.state
|
162
205
|
end
|
163
206
|
|
164
207
|
# @see the `==` method
|
@@ -170,7 +213,7 @@ module Patch
|
|
170
213
|
# Calculates hash code according to all attributes.
|
171
214
|
# @return [Integer] Hash code
|
172
215
|
def hash
|
173
|
-
[mass_g, total_price_cents_usd, project_id, metadata].hash
|
216
|
+
[mass_g, total_price_cents_usd, project_id, metadata, state].hash
|
174
217
|
end
|
175
218
|
|
176
219
|
# Builds the object from hash
|
data/lib/patch_ruby/version.rb
CHANGED
@@ -84,7 +84,17 @@ RSpec.describe 'Orders Integration' do
|
|
84
84
|
.to all(have_key(:user))
|
85
85
|
end
|
86
86
|
|
87
|
-
it 'supports
|
87
|
+
it 'supports creation in draft state' do
|
88
|
+
create_order_response =
|
89
|
+
Patch::Order.create_order(mass_g: 100, state: "draft")
|
90
|
+
|
91
|
+
expect(create_order_response.success).to eq true
|
92
|
+
expect(create_order_response.data.id).not_to be_nil
|
93
|
+
expect(create_order_response.data.mass_g).to eq(100)
|
94
|
+
expect(create_order_response.data.state).to eq("draft")
|
95
|
+
end
|
96
|
+
|
97
|
+
xit 'supports place and cancel for orders created via an estimate' do
|
88
98
|
create_estimate_to_place_response = Patch::Estimate.create_mass_estimate(mass_g: 100, create_order: true)
|
89
99
|
order_to_place_id = create_estimate_to_place_response.data.order.id
|
90
100
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: patch_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Patch Technology
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|