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.
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
- '18.0.0.20220216'
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-02-16', access_token: '',
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,
@@ -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-02-16', access_token: '',
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 'faraday_middleware'
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 FaradayMiddleware::FollowRedirects
31
- faraday.use :gzip
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: 18.0.0.20220216
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-02-15 00:00:00.000000000 Z
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: '1.0'
33
+ version: '2.0'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.0.1
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: '1.0'
43
+ version: '2.0'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.0.1
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: faraday_middleware
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.5'
256
+ version: '2.6'
212
257
  required_rubygems_version: !ruby/object:Gem::Requirement
213
258
  requirements:
214
259
  - - ">="