square.rb 14.1.0.20210915 → 17.0.0.20211215
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +23 -20
- data/lib/square/api/apple_pay_api.rb +1 -1
- data/lib/square/api/base_api.rb +8 -4
- data/lib/square/api/bookings_api.rb +64 -4
- data/lib/square/api/cards_api.rb +1 -1
- data/lib/square/api/catalog_api.rb +109 -34
- data/lib/square/api/checkout_api.rb +1 -1
- data/lib/square/api/customer_groups_api.rb +3 -3
- data/lib/square/api/customer_segments_api.rb +1 -1
- data/lib/square/api/customers_api.rb +5 -5
- data/lib/square/api/devices_api.rb +1 -1
- data/lib/square/api/disputes_api.rb +1 -1
- data/lib/square/api/gift_card_activities_api.rb +26 -20
- data/lib/square/api/gift_cards_api.rb +29 -24
- data/lib/square/api/inventory_api.rb +6 -6
- data/lib/square/api/invoices_api.rb +5 -5
- data/lib/square/api/labor_api.rb +6 -6
- data/lib/square/api/locations_api.rb +20 -12
- data/lib/square/api/loyalty_api.rb +9 -9
- data/lib/square/api/mobile_authorization_api.rb +4 -4
- data/lib/square/api/o_auth_api.rb +10 -10
- data/lib/square/api/orders_api.rb +7 -7
- data/lib/square/api/payments_api.rb +12 -6
- data/lib/square/api/refunds_api.rb +1 -1
- data/lib/square/api/sites_api.rb +2 -1
- data/lib/square/api/snippets_api.rb +1 -1
- data/lib/square/api/subscriptions_api.rb +159 -16
- data/lib/square/api/team_api.rb +6 -6
- data/lib/square/api/terminal_api.rb +4 -4
- data/lib/square/api/transactions_api.rb +0 -188
- data/lib/square/api/v1_transactions_api.rb +2 -2
- data/lib/square/client.rb +12 -6
- data/lib/square/configuration.rb +23 -15
- data/lib/square/http/api_response.rb +1 -1
- data/lib/square/http/faraday_client.rb +20 -1
- data/test/api/test_locations_api.rb +2 -5
- data/test/test_helper.rb +1 -1
- metadata +2 -5
data/lib/square/client.rb
CHANGED
@@ -4,13 +4,17 @@ module Square
|
|
4
4
|
attr_reader :config
|
5
5
|
|
6
6
|
def sdk_version
|
7
|
-
'
|
7
|
+
'17.0.0.20211215'
|
8
8
|
end
|
9
9
|
|
10
10
|
def square_version
|
11
11
|
config.square_version
|
12
12
|
end
|
13
13
|
|
14
|
+
def user_agent_detail
|
15
|
+
config.user_agent_detail
|
16
|
+
end
|
17
|
+
|
14
18
|
# Access to mobile_authorization controller.
|
15
19
|
# @return [MobileAuthorizationApi] Returns the controller instance.
|
16
20
|
def mobile_authorization
|
@@ -209,15 +213,16 @@ module Square
|
|
209
213
|
@terminal ||= TerminalApi.new config
|
210
214
|
end
|
211
215
|
|
212
|
-
def initialize(timeout: 60, max_retries: 0,
|
213
|
-
backoff_factor: 2,
|
216
|
+
def initialize(http_client_instance: nil, timeout: 60, max_retries: 0,
|
217
|
+
retry_interval: 1, backoff_factor: 2,
|
214
218
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
215
219
|
retry_methods: %i[get put], environment: 'production',
|
216
220
|
custom_url: 'https://connect.squareup.com',
|
217
|
-
square_version: '2021-
|
218
|
-
additional_headers: {}, config: nil)
|
221
|
+
square_version: '2021-12-15', access_token: '',
|
222
|
+
user_agent_detail: '', additional_headers: {}, config: nil)
|
219
223
|
@config = if config.nil?
|
220
|
-
Configuration.new(
|
224
|
+
Configuration.new(http_client_instance: http_client_instance,
|
225
|
+
timeout: timeout, max_retries: max_retries,
|
221
226
|
retry_interval: retry_interval,
|
222
227
|
backoff_factor: backoff_factor,
|
223
228
|
retry_statuses: retry_statuses,
|
@@ -226,6 +231,7 @@ module Square
|
|
226
231
|
custom_url: custom_url,
|
227
232
|
square_version: square_version,
|
228
233
|
access_token: access_token,
|
234
|
+
user_agent_detail: user_agent_detail,
|
229
235
|
additional_headers: additional_headers)
|
230
236
|
else
|
231
237
|
config
|
data/lib/square/configuration.rb
CHANGED
@@ -3,26 +3,28 @@ module Square
|
|
3
3
|
# are configured in this class.
|
4
4
|
class Configuration
|
5
5
|
# The attribute readers for properties.
|
6
|
-
attr_reader :http_client, :timeout, :max_retries, :retry_interval,
|
7
|
-
:retry_statuses, :retry_methods, :environment, :custom_url,
|
8
|
-
:access_token,
|
9
|
-
|
6
|
+
attr_reader :http_client, :http_client_instance, :timeout, :max_retries, :retry_interval,
|
7
|
+
:backoff_factor, :retry_statuses, :retry_methods, :environment, :custom_url,
|
8
|
+
:square_version, :access_token, :user_agent_detail
|
9
|
+
|
10
10
|
def additional_headers
|
11
11
|
@additional_headers.clone
|
12
12
|
end
|
13
13
|
|
14
|
-
|
15
14
|
class << self
|
16
15
|
attr_reader :environments
|
17
16
|
end
|
18
17
|
|
19
|
-
def initialize(timeout: 60, max_retries: 0,
|
20
|
-
backoff_factor: 2,
|
18
|
+
def initialize(http_client_instance: nil, timeout: 60, max_retries: 0,
|
19
|
+
retry_interval: 1, backoff_factor: 2,
|
21
20
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
22
21
|
retry_methods: %i[get put], environment: 'production',
|
23
22
|
custom_url: 'https://connect.squareup.com',
|
24
|
-
square_version: '2021-
|
25
|
-
additional_headers: {})
|
23
|
+
square_version: '2021-12-15', access_token: '',
|
24
|
+
user_agent_detail: '', additional_headers: {})
|
25
|
+
# The Http Client passed from the sdk user for making requests
|
26
|
+
@http_client_instance = http_client_instance
|
27
|
+
|
26
28
|
# The value to use for connection timeout
|
27
29
|
@timeout = timeout
|
28
30
|
|
@@ -61,10 +63,12 @@ module Square
|
|
61
63
|
@http_client = create_http_client
|
62
64
|
end
|
63
65
|
|
64
|
-
def clone_with(
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
def clone_with(http_client_instance: nil, timeout: nil, max_retries: nil,
|
67
|
+
retry_interval: nil, backoff_factor: nil,
|
68
|
+
retry_statuses: nil, retry_methods: nil, environment: nil,
|
69
|
+
custom_url: nil, square_version: nil, access_token: nil,
|
70
|
+
user_agent_detail: nil, additional_headers: nil)
|
71
|
+
http_client_instance ||= self.http_client_instance
|
68
72
|
timeout ||= self.timeout
|
69
73
|
max_retries ||= self.max_retries
|
70
74
|
retry_interval ||= self.retry_interval
|
@@ -75,15 +79,18 @@ module Square
|
|
75
79
|
custom_url ||= self.custom_url
|
76
80
|
square_version ||= self.square_version
|
77
81
|
access_token ||= self.access_token
|
82
|
+
user_agent_detail ||= self.user_agent_detail
|
78
83
|
additional_headers ||= self.additional_headers
|
79
84
|
|
80
|
-
Configuration.new(
|
85
|
+
Configuration.new(http_client_instance: http_client_instance,
|
86
|
+
timeout: timeout, max_retries: max_retries,
|
81
87
|
retry_interval: retry_interval,
|
82
88
|
backoff_factor: backoff_factor,
|
83
89
|
retry_statuses: retry_statuses,
|
84
90
|
retry_methods: retry_methods, environment: environment,
|
85
91
|
custom_url: custom_url, square_version: square_version,
|
86
92
|
access_token: access_token,
|
93
|
+
user_agent_detail: user_agent_detail,
|
87
94
|
additional_headers: additional_headers)
|
88
95
|
end
|
89
96
|
|
@@ -92,7 +99,8 @@ module Square
|
|
92
99
|
retry_interval: retry_interval,
|
93
100
|
backoff_factor: backoff_factor,
|
94
101
|
retry_statuses: retry_statuses,
|
95
|
-
retry_methods: retry_methods
|
102
|
+
retry_methods: retry_methods,
|
103
|
+
http_client_instance: http_client_instance)
|
96
104
|
end
|
97
105
|
|
98
106
|
# All the environments the SDK can run in.
|
@@ -25,7 +25,7 @@ module Square
|
|
25
25
|
end.new(*data.values)
|
26
26
|
|
27
27
|
@cursor = data.fetch(:cursor, nil)
|
28
|
-
data.reject! { |k|
|
28
|
+
data.reject! { |k| %i[cursor errors].include?(k) }
|
29
29
|
@data = Struct.new(*data.keys).new(*data.values) if data.keys.any?
|
30
30
|
end
|
31
31
|
else
|
@@ -7,7 +7,25 @@ module Square
|
|
7
7
|
# The constructor.
|
8
8
|
def initialize(timeout:, max_retries:, retry_interval:,
|
9
9
|
backoff_factor:, retry_statuses:, retry_methods:,
|
10
|
-
cache: false, verify: true)
|
10
|
+
http_client_instance: nil, cache: false, verify: true)
|
11
|
+
if http_client_instance.nil?
|
12
|
+
create_connection(timeout: timeout, max_retries: max_retries,
|
13
|
+
retry_interval: retry_interval, backoff_factor: backoff_factor,
|
14
|
+
retry_statuses: retry_statuses, retry_methods: retry_methods,
|
15
|
+
cache: cache, verify: verify)
|
16
|
+
else
|
17
|
+
if http_client_instance.instance_variable_get('@connection').nil?
|
18
|
+
raise ArgumentError,
|
19
|
+
"`connection` cannot be nil in `#{self.class}`. Please specify a valid value."
|
20
|
+
end
|
21
|
+
@connection = http_client_instance.instance_variable_get('@connection')
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Method to initialize connection.
|
26
|
+
def create_connection(timeout:, max_retries:, retry_interval:,
|
27
|
+
backoff_factor:, retry_statuses:, retry_methods:,
|
28
|
+
cache: false, verify: true)
|
11
29
|
@connection = Faraday.new do |faraday|
|
12
30
|
faraday.use Faraday::HttpCache, serializer: Marshal if cache
|
13
31
|
faraday.use FaradayMiddleware::FollowRedirects
|
@@ -24,6 +42,7 @@ module Square
|
|
24
42
|
faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
|
25
43
|
faraday.options[:timeout] = timeout if timeout.positive?
|
26
44
|
end
|
45
|
+
@connection
|
27
46
|
end
|
28
47
|
|
29
48
|
# Method overridden from HttpClient.
|
@@ -7,11 +7,8 @@ class LocationsApiTests < ApiTestBase
|
|
7
7
|
@controller = LocationsApi.new CONFIG, http_call_back: @response_catcher
|
8
8
|
end
|
9
9
|
|
10
|
-
# Provides
|
11
|
-
#
|
12
|
-
#Many Square API endpoints require a `location_id` parameter.
|
13
|
-
#The `id` field of the [`Location`]($m/Location) objects returned by this
|
14
|
-
#endpoint correspond to that `location_id` parameter.
|
10
|
+
# Provides details about all of the seller's locations,
|
11
|
+
#including those with an inactive status.
|
15
12
|
def test_list_locations()
|
16
13
|
|
17
14
|
# Perform the API call through the SDK function
|
data/test/test_helper.rb
CHANGED
@@ -82,7 +82,7 @@ class TestHelper
|
|
82
82
|
unless @cache.keys.include? url
|
83
83
|
@cache[url] = Tempfile.new('APIMatic')
|
84
84
|
@cache[url].binmode
|
85
|
-
@cache[url].write(open(url, {ssl_ca_cert: Certifi.where}).read)
|
85
|
+
@cache[url].write(URI.open(url, {ssl_ca_cert: Certifi.where}).read)
|
86
86
|
end
|
87
87
|
return @cache[url].path
|
88
88
|
end
|
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: 17.0.0.20211215
|
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-
|
11
|
+
date: 2021-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|
@@ -209,9 +209,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
209
209
|
- - ">="
|
210
210
|
- !ruby/object:Gem::Version
|
211
211
|
version: '2.5'
|
212
|
-
- - "<"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: '3.0'
|
215
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
213
|
requirements:
|
217
214
|
- - ">="
|