square.rb 18.0.0.20220216 → 20.0.0.20220512
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/README.md +41 -221
- data/lib/square/api/base_api.rb +1 -1
- data/lib/square/api/bookings_api.rb +9 -0
- data/lib/square/api/checkout_api.rb +202 -0
- data/lib/square/api/customer_custom_attributes_api.rb +540 -0
- data/lib/square/api/customer_groups_api.rb +7 -6
- data/lib/square/api/customer_segments_api.rb +7 -6
- data/lib/square/api/customers_api.rb +11 -8
- data/lib/square/api/gift_card_activities_api.rb +5 -6
- data/lib/square/api/gift_cards_api.rb +6 -6
- data/lib/square/api/locations_api.rb +3 -4
- data/lib/square/api/loyalty_api.rb +4 -3
- data/lib/square/api/orders_api.rb +2 -2
- data/lib/square/api/payouts_api.rb +173 -0
- data/lib/square/api/subscriptions_api.rb +0 -3
- data/lib/square/api/terminal_api.rb +157 -6
- data/lib/square/api/vendors_api.rb +257 -0
- data/lib/square/client.rb +20 -2
- data/lib/square/configuration.rb +1 -1
- data/lib/square/http/faraday_client.rb +15 -5
- data/lib/square/http/http_client.rb +31 -12
- data/lib/square/http/http_request.rb +6 -2
- data/lib/square.rb +3 -0
- metadata +53 -8
data/lib/square/client.rb
CHANGED
@@ -4,7 +4,7 @@ module Square
|
|
4
4
|
attr_reader :config
|
5
5
|
|
6
6
|
def sdk_version
|
7
|
-
'
|
7
|
+
'20.0.0.20220512'
|
8
8
|
end
|
9
9
|
|
10
10
|
def square_version
|
@@ -75,6 +75,12 @@ module Square
|
|
75
75
|
@customers ||= CustomersApi.new config
|
76
76
|
end
|
77
77
|
|
78
|
+
# Access to customer_custom_attributes controller.
|
79
|
+
# @return [CustomerCustomAttributesApi] Returns the controller instance.
|
80
|
+
def customer_custom_attributes
|
81
|
+
@customer_custom_attributes ||= CustomerCustomAttributesApi.new config
|
82
|
+
end
|
83
|
+
|
78
84
|
# Access to customer_groups controller.
|
79
85
|
# @return [CustomerGroupsApi] Returns the controller instance.
|
80
86
|
def customer_groups
|
@@ -177,6 +183,12 @@ module Square
|
|
177
183
|
@payments ||= PaymentsApi.new config
|
178
184
|
end
|
179
185
|
|
186
|
+
# Access to payouts controller.
|
187
|
+
# @return [PayoutsApi] Returns the controller instance.
|
188
|
+
def payouts
|
189
|
+
@payouts ||= PayoutsApi.new config
|
190
|
+
end
|
191
|
+
|
180
192
|
# Access to refunds controller.
|
181
193
|
# @return [RefundsApi] Returns the controller instance.
|
182
194
|
def refunds
|
@@ -213,12 +225,18 @@ module Square
|
|
213
225
|
@terminal ||= TerminalApi.new config
|
214
226
|
end
|
215
227
|
|
228
|
+
# Access to vendors controller.
|
229
|
+
# @return [VendorsApi] Returns the controller instance.
|
230
|
+
def vendors
|
231
|
+
@vendors ||= VendorsApi.new config
|
232
|
+
end
|
233
|
+
|
216
234
|
def initialize(connection: nil, timeout: 60, max_retries: 0,
|
217
235
|
retry_interval: 1, backoff_factor: 2,
|
218
236
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
219
237
|
retry_methods: %i[get put], environment: 'production',
|
220
238
|
custom_url: 'https://connect.squareup.com',
|
221
|
-
square_version: '2022-
|
239
|
+
square_version: '2022-05-12', access_token: '',
|
222
240
|
user_agent_detail: '', additional_headers: {}, config: nil)
|
223
241
|
@config = if config.nil?
|
224
242
|
Configuration.new(connection: connection, timeout: timeout,
|
data/lib/square/configuration.rb
CHANGED
@@ -20,7 +20,7 @@ module Square
|
|
20
20
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
21
21
|
retry_methods: %i[get put], environment: 'production',
|
22
22
|
custom_url: 'https://connect.squareup.com',
|
23
|
-
square_version: '2022-
|
23
|
+
square_version: '2022-05-12', access_token: '',
|
24
24
|
user_agent_detail: '', additional_headers: {})
|
25
25
|
# The Faraday connection object passed by the SDK user for making requests
|
26
26
|
@connection = connection
|
@@ -1,5 +1,8 @@
|
|
1
1
|
require 'faraday/http_cache'
|
2
|
-
require '
|
2
|
+
require 'faraday/retry'
|
3
|
+
require 'faraday/multipart'
|
4
|
+
require 'faraday/follow_redirects'
|
5
|
+
require 'faraday/gzip'
|
3
6
|
|
4
7
|
module Square
|
5
8
|
# An implementation of HttpClient.
|
@@ -27,8 +30,8 @@ module Square
|
|
27
30
|
cache: false, verify: true)
|
28
31
|
Faraday.new do |faraday|
|
29
32
|
faraday.use Faraday::HttpCache, serializer: Marshal if cache
|
30
|
-
faraday.use
|
31
|
-
faraday.
|
33
|
+
faraday.use Faraday::FollowRedirects::Middleware
|
34
|
+
faraday.request :gzip
|
32
35
|
faraday.request :multipart
|
33
36
|
faraday.request :url_encoded
|
34
37
|
faraday.ssl[:ca_file] = Certifi.where
|
@@ -36,7 +39,10 @@ module Square
|
|
36
39
|
faraday.request :retry, max: max_retries, interval: retry_interval,
|
37
40
|
backoff_factor: backoff_factor,
|
38
41
|
retry_statuses: retry_statuses,
|
39
|
-
methods: retry_methods
|
42
|
+
methods: retry_methods,
|
43
|
+
retry_if: proc { |env, _exc|
|
44
|
+
env.request.context['forced_retry'] ||= false
|
45
|
+
}
|
40
46
|
faraday.adapter Faraday.default_adapter
|
41
47
|
faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
|
42
48
|
faraday.options[:timeout] = timeout if timeout.positive?
|
@@ -49,7 +55,9 @@ module Square
|
|
49
55
|
http_request.http_method.downcase,
|
50
56
|
http_request.query_url
|
51
57
|
) do |request|
|
52
|
-
request.headers = http_request.headers
|
58
|
+
request.headers = http_request.headers.map { |k, v| [k.to_s, v.to_s] }
|
59
|
+
request.options.context ||= {}
|
60
|
+
request.options.context.merge!(http_request.context)
|
53
61
|
unless http_request.http_method == HttpMethodEnum::GET &&
|
54
62
|
http_request.parameters.empty?
|
55
63
|
request.body = http_request.parameters
|
@@ -65,6 +73,8 @@ module Square
|
|
65
73
|
http_request.query_url
|
66
74
|
) do |request|
|
67
75
|
request.headers = http_request.headers
|
76
|
+
request.options.context ||= {}
|
77
|
+
request.options.context.merge!(http_request.context)
|
68
78
|
unless http_request.http_method == HttpMethodEnum::GET &&
|
69
79
|
http_request.parameters.empty?
|
70
80
|
request.body = http_request.parameters
|
@@ -28,72 +28,91 @@ module Square
|
|
28
28
|
# Get a GET HttpRequest object.
|
29
29
|
# @param [String] The URL to send the request to.
|
30
30
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
31
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
31
32
|
def get(query_url,
|
32
|
-
headers: {}
|
33
|
+
headers: {},
|
34
|
+
context: {})
|
33
35
|
HttpRequest.new(HttpMethodEnum::GET,
|
34
36
|
query_url,
|
35
|
-
headers: headers
|
37
|
+
headers: headers,
|
38
|
+
context: context)
|
36
39
|
end
|
37
40
|
|
38
41
|
# Get a HEAD HttpRequest object.
|
39
42
|
# @param [String] The URL to send the request to.
|
40
43
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
44
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
41
45
|
def head(query_url,
|
42
|
-
headers: {}
|
46
|
+
headers: {},
|
47
|
+
context: {})
|
43
48
|
HttpRequest.new(HttpMethodEnum::HEAD,
|
44
49
|
query_url,
|
45
|
-
headers: headers
|
50
|
+
headers: headers,
|
51
|
+
context: context)
|
46
52
|
end
|
47
53
|
|
48
54
|
# Get a POST HttpRequest object.
|
49
55
|
# @param [String] The URL to send the request to.
|
50
56
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
51
57
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
58
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
52
59
|
def post(query_url,
|
53
60
|
headers: {},
|
54
|
-
parameters: {}
|
61
|
+
parameters: {},
|
62
|
+
context: {})
|
55
63
|
HttpRequest.new(HttpMethodEnum::POST,
|
56
64
|
query_url,
|
57
65
|
headers: headers,
|
58
|
-
parameters: parameters
|
66
|
+
parameters: parameters,
|
67
|
+
context: context)
|
59
68
|
end
|
60
69
|
|
61
70
|
# Get a PUT HttpRequest object.
|
62
71
|
# @param [String] The URL to send the request to.
|
63
72
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
64
73
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
74
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
65
75
|
def put(query_url,
|
66
76
|
headers: {},
|
67
|
-
parameters: {}
|
77
|
+
parameters: {},
|
78
|
+
context: {})
|
68
79
|
HttpRequest.new(HttpMethodEnum::PUT,
|
69
80
|
query_url,
|
70
81
|
headers: headers,
|
71
|
-
parameters: parameters
|
82
|
+
parameters: parameters,
|
83
|
+
context: context)
|
72
84
|
end
|
73
85
|
|
74
86
|
# Get a PATCH HttpRequest object.
|
75
87
|
# @param [String] The URL to send the request to.
|
76
88
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
77
89
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
90
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
78
91
|
def patch(query_url,
|
79
92
|
headers: {},
|
80
|
-
parameters: {}
|
93
|
+
parameters: {},
|
94
|
+
context: {})
|
81
95
|
HttpRequest.new(HttpMethodEnum::PATCH,
|
82
96
|
query_url,
|
83
97
|
headers: headers,
|
84
|
-
parameters: parameters
|
98
|
+
parameters: parameters,
|
99
|
+
context: context)
|
85
100
|
end
|
86
101
|
|
87
102
|
# Get a DELETE HttpRequest object.
|
88
103
|
# @param [String] The URL to send the request to.
|
89
104
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
105
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
106
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
90
107
|
def delete(query_url,
|
91
108
|
headers: {},
|
92
|
-
parameters: {}
|
109
|
+
parameters: {},
|
110
|
+
context: {})
|
93
111
|
HttpRequest.new(HttpMethodEnum::DELETE,
|
94
112
|
query_url,
|
95
113
|
headers: headers,
|
96
|
-
parameters: parameters
|
114
|
+
parameters: parameters,
|
115
|
+
context: context)
|
97
116
|
end
|
98
117
|
end
|
99
118
|
end
|
@@ -2,21 +2,25 @@ module Square
|
|
2
2
|
# Represents a single Http Request.
|
3
3
|
class HttpRequest
|
4
4
|
attr_accessor :http_method, :query_url, :headers,
|
5
|
-
:parameters, :username, :password
|
5
|
+
:parameters, :username, :password,
|
6
|
+
:context
|
6
7
|
|
7
8
|
# The constructor.
|
8
9
|
# @param [HttpMethodEnum] The HTTP method.
|
9
10
|
# @param [String] The URL to send the request to.
|
10
11
|
# @param [Hash, Optional] The headers for the HTTP Request.
|
11
12
|
# @param [Hash, Optional] The parameters for the HTTP Request.
|
13
|
+
# @param [Hash, Optional] The context for the HTTP Request.
|
12
14
|
def initialize(http_method,
|
13
15
|
query_url,
|
14
16
|
headers: {},
|
15
|
-
parameters: {}
|
17
|
+
parameters: {},
|
18
|
+
context: {})
|
16
19
|
@http_method = http_method
|
17
20
|
@query_url = query_url
|
18
21
|
@headers = headers
|
19
22
|
@parameters = parameters
|
23
|
+
@context = context
|
20
24
|
end
|
21
25
|
|
22
26
|
# Add a header to the HttpRequest.
|
data/lib/square.rb
CHANGED
@@ -40,6 +40,7 @@ require_relative 'square/api/cards_api'
|
|
40
40
|
require_relative 'square/api/cash_drawers_api'
|
41
41
|
require_relative 'square/api/catalog_api'
|
42
42
|
require_relative 'square/api/customers_api'
|
43
|
+
require_relative 'square/api/customer_custom_attributes_api'
|
43
44
|
require_relative 'square/api/customer_groups_api'
|
44
45
|
require_relative 'square/api/customer_segments_api'
|
45
46
|
require_relative 'square/api/devices_api'
|
@@ -57,9 +58,11 @@ require_relative 'square/api/loyalty_api'
|
|
57
58
|
require_relative 'square/api/merchants_api'
|
58
59
|
require_relative 'square/api/orders_api'
|
59
60
|
require_relative 'square/api/payments_api'
|
61
|
+
require_relative 'square/api/payouts_api'
|
60
62
|
require_relative 'square/api/refunds_api'
|
61
63
|
require_relative 'square/api/sites_api'
|
62
64
|
require_relative 'square/api/snippets_api'
|
63
65
|
require_relative 'square/api/subscriptions_api'
|
64
66
|
require_relative 'square/api/team_api'
|
65
67
|
require_relative 'square/api/terminal_api'
|
68
|
+
require_relative 'square/api/vendors_api'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: square.rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 20.0.0.20220512
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Square Developer Platform
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -30,22 +30,64 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 2.0.1
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
43
|
+
version: '2.0'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 2.0.1
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: faraday-follow_redirects
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0.2'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0.2'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: faraday-multipart
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '1.0'
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '1.0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: faraday-gzip
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0.1'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0.1'
|
47
89
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
90
|
+
name: faraday-retry
|
49
91
|
requirement: !ruby/object:Gem::Requirement
|
50
92
|
requirements:
|
51
93
|
- - "~>"
|
@@ -144,6 +186,7 @@ files:
|
|
144
186
|
- lib/square/api/cash_drawers_api.rb
|
145
187
|
- lib/square/api/catalog_api.rb
|
146
188
|
- lib/square/api/checkout_api.rb
|
189
|
+
- lib/square/api/customer_custom_attributes_api.rb
|
147
190
|
- lib/square/api/customer_groups_api.rb
|
148
191
|
- lib/square/api/customer_segments_api.rb
|
149
192
|
- lib/square/api/customers_api.rb
|
@@ -162,6 +205,7 @@ files:
|
|
162
205
|
- lib/square/api/o_auth_api.rb
|
163
206
|
- lib/square/api/orders_api.rb
|
164
207
|
- lib/square/api/payments_api.rb
|
208
|
+
- lib/square/api/payouts_api.rb
|
165
209
|
- lib/square/api/refunds_api.rb
|
166
210
|
- lib/square/api/sites_api.rb
|
167
211
|
- lib/square/api/snippets_api.rb
|
@@ -170,6 +214,7 @@ files:
|
|
170
214
|
- lib/square/api/terminal_api.rb
|
171
215
|
- lib/square/api/transactions_api.rb
|
172
216
|
- lib/square/api/v1_transactions_api.rb
|
217
|
+
- lib/square/api/vendors_api.rb
|
173
218
|
- lib/square/api_helper.rb
|
174
219
|
- lib/square/client.rb
|
175
220
|
- lib/square/configuration.rb
|
@@ -208,7 +253,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
208
253
|
requirements:
|
209
254
|
- - ">="
|
210
255
|
- !ruby/object:Gem::Version
|
211
|
-
version: '2.
|
256
|
+
version: '2.6'
|
212
257
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
258
|
requirements:
|
214
259
|
- - ">="
|