patch_ruby 1.17.1 → 1.18.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|