square.rb 9.1.0.20210317 → 12.0.0.20210616

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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -3
  3. data/lib/square.rb +5 -0
  4. data/lib/square/api/bank_accounts_api.rb +5 -5
  5. data/lib/square/api/base_api.rb +1 -1
  6. data/lib/square/api/bookings_api.rb +3 -5
  7. data/lib/square/api/cards_api.rb +170 -0
  8. data/lib/square/api/cash_drawers_api.rb +2 -2
  9. data/lib/square/api/catalog_api.rb +40 -41
  10. data/lib/square/api/customer_groups_api.rb +4 -4
  11. data/lib/square/api/customer_segments_api.rb +4 -4
  12. data/lib/square/api/customers_api.rb +45 -26
  13. data/lib/square/api/devices_api.rb +2 -1
  14. data/lib/square/api/disputes_api.rb +100 -91
  15. data/lib/square/api/gift_card_activities_api.rb +127 -0
  16. data/lib/square/api/gift_cards_api.rb +291 -0
  17. data/lib/square/api/inventory_api.rb +16 -16
  18. data/lib/square/api/invoices_api.rb +14 -14
  19. data/lib/square/api/locations_api.rb +1 -2
  20. data/lib/square/api/loyalty_api.rb +66 -14
  21. data/lib/square/api/merchants_api.rb +1 -1
  22. data/lib/square/api/o_auth_api.rb +8 -9
  23. data/lib/square/api/orders_api.rb +35 -33
  24. data/lib/square/api/payments_api.rb +4 -1
  25. data/lib/square/api/refunds_api.rb +4 -1
  26. data/lib/square/api/sites_api.rb +42 -0
  27. data/lib/square/api/snippets_api.rb +146 -0
  28. data/lib/square/api/subscriptions_api.rb +36 -1
  29. data/lib/square/api/team_api.rb +40 -40
  30. data/lib/square/api/transactions_api.rb +32 -20
  31. data/lib/square/api/v1_employees_api.rb +2 -1
  32. data/lib/square/api/v1_transactions_api.rb +9 -0
  33. data/lib/square/api_helper.rb +5 -5
  34. data/lib/square/client.rb +37 -3
  35. data/lib/square/configuration.rb +23 -8
  36. data/lib/square/http/faraday_client.rb +5 -2
  37. data/test/api/test_locations_api.rb +1 -1
  38. metadata +11 -6
@@ -247,7 +247,8 @@ module Square
247
247
  # employee with that role. For example, an employee with a "Shift Manager"
248
248
  # role might be able to issue refunds in Square Point of Sale, whereas an
249
249
  # employee with a "Clerk" role might not.
250
- # Roles are assigned with the [V1UpdateEmployee](#endpoint-v1updateemployee)
250
+ # Roles are assigned with the
251
+ # [V1UpdateEmployee]($e/V1Employees/UpdateEmployeeRole)
251
252
  # endpoint. An employee can have only one role at a time.
252
253
  # If an employee has no role, they have none of the permissions associated
253
254
  # with roles. All employees can accept payments with Square Point of Sale.
@@ -20,6 +20,7 @@ module Square
20
20
  order: nil,
21
21
  limit: nil,
22
22
  batch_token: nil)
23
+ warn 'Endpoint list_orders in V1TransactionsApi is deprecated'
23
24
  # Prepare query url.
24
25
  _query_builder = config.get_base_uri
25
26
  _query_builder << '/v1/{location_id}/orders'
@@ -66,6 +67,7 @@ module Square
66
67
  # @return [V1Order Hash] response from the API call
67
68
  def retrieve_order(location_id:,
68
69
  order_id:)
70
+ warn 'Endpoint retrieve_order in V1TransactionsApi is deprecated'
69
71
  # Prepare query url.
70
72
  _query_builder = config.get_base_uri
71
73
  _query_builder << '/v1/{location_id}/orders/{order_id}'
@@ -111,6 +113,7 @@ module Square
111
113
  def update_order(location_id:,
112
114
  order_id:,
113
115
  body:)
116
+ warn 'Endpoint update_order in V1TransactionsApi is deprecated'
114
117
  # Prepare query url.
115
118
  _query_builder = config.get_base_uri
116
119
  _query_builder << '/v1/{location_id}/orders/{order_id}'
@@ -184,6 +187,7 @@ module Square
184
187
  limit: nil,
185
188
  batch_token: nil,
186
189
  include_partial: false)
190
+ warn 'Endpoint list_payments in V1TransactionsApi is deprecated'
187
191
  # Prepare query url.
188
192
  _query_builder = config.get_base_uri
189
193
  _query_builder << '/v1/{location_id}/payments'
@@ -233,6 +237,7 @@ module Square
233
237
  # @return [V1Payment Hash] response from the API call
234
238
  def retrieve_payment(location_id:,
235
239
  payment_id:)
240
+ warn 'Endpoint retrieve_payment in V1TransactionsApi is deprecated'
236
241
  # Prepare query url.
237
242
  _query_builder = config.get_base_uri
238
243
  _query_builder << '/v1/{location_id}/payments/{payment_id}'
@@ -294,6 +299,7 @@ module Square
294
299
  end_time: nil,
295
300
  limit: nil,
296
301
  batch_token: nil)
302
+ warn 'Endpoint list_refunds in V1TransactionsApi is deprecated'
297
303
  # Prepare query url.
298
304
  _query_builder = config.get_base_uri
299
305
  _query_builder << '/v1/{location_id}/refunds'
@@ -350,6 +356,7 @@ module Square
350
356
  # @return [V1Refund Hash] response from the API call
351
357
  def create_refund(location_id:,
352
358
  body:)
359
+ warn 'Endpoint create_refund in V1TransactionsApi is deprecated'
353
360
  # Prepare query url.
354
361
  _query_builder = config.get_base_uri
355
362
  _query_builder << '/v1/{location_id}/refunds'
@@ -417,6 +424,7 @@ module Square
417
424
  limit: nil,
418
425
  status: nil,
419
426
  batch_token: nil)
427
+ warn 'Endpoint list_settlements in V1TransactionsApi is deprecated'
420
428
  # Prepare query url.
421
429
  _query_builder = config.get_base_uri
422
430
  _query_builder << '/v1/{location_id}/settlements'
@@ -479,6 +487,7 @@ module Square
479
487
  # @return [V1Settlement Hash] response from the API call
480
488
  def retrieve_settlement(location_id:,
481
489
  settlement_id:)
490
+ warn 'Endpoint retrieve_settlement in V1TransactionsApi is deprecated'
482
491
  # Prepare query url.
483
492
  _query_builder = config.get_base_uri
484
493
  _query_builder << '/v1/{location_id}/settlements/{settlement_id}'
@@ -63,9 +63,7 @@ module Square
63
63
  # Appends the given set of parameters to the given query string.
64
64
  # @param [String] The query string builder to add the query parameters to.
65
65
  # @param [Hash] The parameters to append.
66
- # @param [String] The format of array parameter serialization.
67
- def self.append_url_with_query_parameters(query_builder, parameters,
68
- array_serialization: 'indexed')
66
+ def self.append_url_with_query_parameters(query_builder, parameters)
69
67
  # Perform parameter validation.
70
68
  unless query_builder.instance_of? String
71
69
  raise ArgumentError, 'Given value for parameter \"query_builder\"
@@ -75,6 +73,8 @@ module Square
75
73
  # Return if there are no parameters to replace.
76
74
  return query_builder if parameters.nil?
77
75
 
76
+ array_serialization = 'indexed'
77
+
78
78
  parameters.each do |key, value|
79
79
  seperator = query_builder.include?('?') ? '&' : '?'
80
80
  unless value.nil?
@@ -151,8 +151,8 @@ module Square
151
151
  # Form encodes a hash of parameters.
152
152
  # @param [Hash] The hash of parameters to encode.
153
153
  # @return [Hash] A hash with the same parameters form encoded.
154
- def self.form_encode_parameters(form_parameters,
155
- array_serialization: 'indexed')
154
+ def self.form_encode_parameters(form_parameters)
155
+ array_serialization = 'indexed'
156
156
  encoded = {}
157
157
  form_parameters.each do |key, value|
158
158
  encoded.merge!(APIHelper.form_encode(value, key, formatting:
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
- '9.1.0.20210317'
7
+ '12.0.0.20210616'
8
8
  end
9
9
 
10
10
  def square_version
@@ -53,6 +53,12 @@ module Square
53
53
  @bookings ||= BookingsApi.new config
54
54
  end
55
55
 
56
+ # Access to cards controller.
57
+ # @return [CardsApi] Returns the controller instance.
58
+ def cards
59
+ @cards ||= CardsApi.new config
60
+ end
61
+
56
62
  # Access to cash_drawers controller.
57
63
  # @return [CashDrawersApi] Returns the controller instance.
58
64
  def cash_drawers
@@ -101,6 +107,18 @@ module Square
101
107
  @employees ||= EmployeesApi.new config
102
108
  end
103
109
 
110
+ # Access to gift_cards controller.
111
+ # @return [GiftCardsApi] Returns the controller instance.
112
+ def gift_cards
113
+ @gift_cards ||= GiftCardsApi.new config
114
+ end
115
+
116
+ # Access to gift_card_activities controller.
117
+ # @return [GiftCardActivitiesApi] Returns the controller instance.
118
+ def gift_card_activities
119
+ @gift_card_activities ||= GiftCardActivitiesApi.new config
120
+ end
121
+
104
122
  # Access to inventory controller.
105
123
  # @return [InventoryApi] Returns the controller instance.
106
124
  def inventory
@@ -167,6 +185,18 @@ module Square
167
185
  @refunds ||= RefundsApi.new config
168
186
  end
169
187
 
188
+ # Access to sites controller.
189
+ # @return [SitesApi] Returns the controller instance.
190
+ def sites
191
+ @sites ||= SitesApi.new config
192
+ end
193
+
194
+ # Access to snippets controller.
195
+ # @return [SnippetsApi] Returns the controller instance.
196
+ def snippets
197
+ @snippets ||= SnippetsApi.new config
198
+ end
199
+
170
200
  # Access to subscriptions controller.
171
201
  # @return [SubscriptionsApi] Returns the controller instance.
172
202
  def subscriptions
@@ -186,14 +216,18 @@ module Square
186
216
  end
187
217
 
188
218
  def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
189
- backoff_factor: 1, environment: 'production',
219
+ backoff_factor: 2,
220
+ retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
221
+ retry_methods: %i[get put], environment: 'production',
190
222
  custom_url: 'https://connect.squareup.com',
191
- square_version: '2021-03-17', access_token: 'TODO: Replace',
223
+ square_version: '2021-06-16', access_token: 'TODO: Replace',
192
224
  additional_headers: {}, config: nil)
193
225
  @config = if config.nil?
194
226
  Configuration.new(timeout: timeout, max_retries: max_retries,
195
227
  retry_interval: retry_interval,
196
228
  backoff_factor: backoff_factor,
229
+ retry_statuses: retry_statuses,
230
+ retry_methods: retry_methods,
197
231
  environment: environment,
198
232
  custom_url: custom_url,
199
233
  square_version: square_version,
@@ -8,6 +8,8 @@ module Square
8
8
  attr_reader :max_retries
9
9
  attr_reader :retry_interval
10
10
  attr_reader :backoff_factor
11
+ attr_reader :retry_statuses
12
+ attr_reader :retry_methods
11
13
  attr_reader :environment
12
14
  attr_reader :custom_url
13
15
  attr_reader :square_version
@@ -22,9 +24,11 @@ module Square
22
24
  end
23
25
 
24
26
  def initialize(timeout: 60, max_retries: 0, retry_interval: 1,
25
- backoff_factor: 1, environment: 'production',
27
+ backoff_factor: 2,
28
+ retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
29
+ retry_methods: %i[get put], environment: 'production',
26
30
  custom_url: 'https://connect.squareup.com',
27
- square_version: '2021-03-17', access_token: 'TODO: Replace',
31
+ square_version: '2021-06-16', access_token: 'TODO: Replace',
28
32
  additional_headers: {})
29
33
  # The value to use for connection timeout
30
34
  @timeout = timeout
@@ -39,6 +43,12 @@ module Square
39
43
  # by in order to provide backoff
40
44
  @backoff_factor = backoff_factor
41
45
 
46
+ # A list of HTTP statuses to retry
47
+ @retry_statuses = retry_statuses
48
+
49
+ # A list of HTTP methods to retry
50
+ @retry_methods = retry_methods
51
+
42
52
  # Current API environment
43
53
  @environment = String(environment)
44
54
 
@@ -59,13 +69,15 @@ module Square
59
69
  end
60
70
 
61
71
  def clone_with(timeout: nil, max_retries: nil, retry_interval: nil,
62
- backoff_factor: nil, environment: nil, custom_url: nil,
63
- square_version: nil, access_token: nil,
64
- additional_headers: nil)
72
+ backoff_factor: nil, retry_statuses: nil, retry_methods: nil,
73
+ environment: nil, custom_url: nil, square_version: nil,
74
+ access_token: nil, additional_headers: nil)
65
75
  timeout ||= self.timeout
66
76
  max_retries ||= self.max_retries
67
77
  retry_interval ||= self.retry_interval
68
78
  backoff_factor ||= self.backoff_factor
79
+ retry_statuses ||= self.retry_statuses
80
+ retry_methods ||= self.retry_methods
69
81
  environment ||= self.environment
70
82
  custom_url ||= self.custom_url
71
83
  square_version ||= self.square_version
@@ -75,8 +87,9 @@ module Square
75
87
  Configuration.new(timeout: timeout, max_retries: max_retries,
76
88
  retry_interval: retry_interval,
77
89
  backoff_factor: backoff_factor,
78
- environment: environment, custom_url: custom_url,
79
- square_version: square_version,
90
+ retry_statuses: retry_statuses,
91
+ retry_methods: retry_methods, environment: environment,
92
+ custom_url: custom_url, square_version: square_version,
80
93
  access_token: access_token,
81
94
  additional_headers: additional_headers)
82
95
  end
@@ -84,7 +97,9 @@ module Square
84
97
  def create_http_client
85
98
  FaradayClient.new(timeout: timeout, max_retries: max_retries,
86
99
  retry_interval: retry_interval,
87
- backoff_factor: backoff_factor)
100
+ backoff_factor: backoff_factor,
101
+ retry_statuses: retry_statuses,
102
+ retry_methods: retry_methods)
88
103
  end
89
104
 
90
105
  # All the environments the SDK can run in.
@@ -6,7 +6,8 @@ module Square
6
6
  class FaradayClient < HttpClient
7
7
  # The constructor.
8
8
  def initialize(timeout:, max_retries:, retry_interval:,
9
- backoff_factor:, cache: false, verify: true)
9
+ backoff_factor:, retry_statuses:, retry_methods:,
10
+ cache: false, verify: true)
10
11
  @connection = Faraday.new do |faraday|
11
12
  faraday.use Faraday::HttpCache, serializer: Marshal if cache
12
13
  faraday.use FaradayMiddleware::FollowRedirects
@@ -16,7 +17,9 @@ module Square
16
17
  faraday.ssl[:ca_file] = Certifi.where
17
18
  faraday.ssl[:verify] = verify
18
19
  faraday.request :retry, max: max_retries, interval: retry_interval,
19
- backoff_factor: backoff_factor
20
+ backoff_factor: backoff_factor,
21
+ retry_statuses: retry_statuses,
22
+ methods: retry_methods
20
23
  faraday.adapter Faraday.default_adapter
21
24
  faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
22
25
  faraday.options[:timeout] = timeout if timeout > 0
@@ -10,7 +10,7 @@ class LocationsApiTests < ApiTestBase
10
10
  # Provides information of all locations of a business.
11
11
  #
12
12
  #Many Square API endpoints require a `location_id` parameter.
13
- #The `id` field of the [`Location`](#type-location) objects returned by this
13
+ #The `id` field of the [`Location`]($m/Location) objects returned by this
14
14
  #endpoint correspond to that `location_id` parameter.
15
15
  def test_list_locations()
16
16
 
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: 9.1.0.20210317
4
+ version: 12.0.0.20210616
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: 2021-03-17 00:00:00.000000000 Z
11
+ date: 2021-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logging
@@ -31,9 +31,9 @@ dependencies:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.0'
34
- - - ">="
34
+ - - "<="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.0.1
36
+ version: 1.3.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -41,9 +41,9 @@ dependencies:
41
41
  - - "~>"
42
42
  - !ruby/object:Gem::Version
43
43
  version: '1.0'
44
- - - ">="
44
+ - - "<="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.0.1
46
+ version: 1.3.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: faraday_middleware
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -140,6 +140,7 @@ files:
140
140
  - lib/square/api/bank_accounts_api.rb
141
141
  - lib/square/api/base_api.rb
142
142
  - lib/square/api/bookings_api.rb
143
+ - lib/square/api/cards_api.rb
143
144
  - lib/square/api/cash_drawers_api.rb
144
145
  - lib/square/api/catalog_api.rb
145
146
  - lib/square/api/checkout_api.rb
@@ -149,6 +150,8 @@ files:
149
150
  - lib/square/api/devices_api.rb
150
151
  - lib/square/api/disputes_api.rb
151
152
  - lib/square/api/employees_api.rb
153
+ - lib/square/api/gift_card_activities_api.rb
154
+ - lib/square/api/gift_cards_api.rb
152
155
  - lib/square/api/inventory_api.rb
153
156
  - lib/square/api/invoices_api.rb
154
157
  - lib/square/api/labor_api.rb
@@ -160,6 +163,8 @@ files:
160
163
  - lib/square/api/orders_api.rb
161
164
  - lib/square/api/payments_api.rb
162
165
  - lib/square/api/refunds_api.rb
166
+ - lib/square/api/sites_api.rb
167
+ - lib/square/api/snippets_api.rb
163
168
  - lib/square/api/subscriptions_api.rb
164
169
  - lib/square/api/team_api.rb
165
170
  - lib/square/api/terminal_api.rb