square.rb 17.1.0.20220120 → 18.0.0.20220216
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 +1 -1
- data/lib/square/api/base_api.rb +1 -1
- data/lib/square/api/merchants_api.rb +10 -8
- data/lib/square/api_helper.rb +29 -31
- data/lib/square/client.rb +5 -5
- data/lib/square/configuration.rb +12 -13
- data/lib/square/http/faraday_client.rb +13 -15
- 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: d63ad56661f521ead949670191ddb004cf944daedf7836047c9281e8e6600ecf
|
4
|
+
data.tar.gz: 548171c3a90103f2a2492166e6b69f9c0dd7855f1c20d656e4c7c1f922053e86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d5f5cdb0c4992a16eca7327a67642d9fcb807ae040b7c3426d5635ac3ef9f40ab9d144fe011b60c5ad996b81b098e49a3e4cf8a3e6aa3dd4742fab08fd6e1b3
|
7
|
+
data.tar.gz: 56b7b2f269877ec3b2f867d608e0a803a066e74bc958d2e0f60e156a034360e872d0c7eccefa5d552a35b700f2c9cb83b364a942e96968a713ab33013069dea5
|
data/README.md
CHANGED
data/lib/square/api/base_api.rb
CHANGED
@@ -38,7 +38,7 @@ module Square
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def get_user_agent
|
41
|
-
user_agent = 'Square-Ruby-SDK/
|
41
|
+
user_agent = 'Square-Ruby-SDK/18.0.0.20220216 ({api-version}) {engine}/{engine-version} ({os-info}) {detail}'
|
42
42
|
user_agent['{engine}'] = RUBY_ENGINE
|
43
43
|
user_agent['{engine-version}'] = RUBY_ENGINE_VERSION
|
44
44
|
user_agent['{os-info}'] = RUBY_PLATFORM
|
@@ -5,15 +5,17 @@ module Square
|
|
5
5
|
super(config, http_call_back: http_call_back)
|
6
6
|
end
|
7
7
|
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
8
|
+
# Provides details about the merchant associated with a given access token.
|
9
|
+
# The access token used to connect your application to a Square seller is
|
10
|
+
# associated
|
11
|
+
# with a single merchant. That means that `ListMerchants` returns a list
|
12
|
+
# with a single `Merchant` object. You can specify your personal access
|
13
|
+
# token
|
14
|
+
# to get your own merchant information or specify an OAuth token to get the
|
15
|
+
# information for the merchant that granted your application access.
|
14
16
|
# If you know the merchant ID, you can also use the
|
15
17
|
# [RetrieveMerchant]($e/Merchants/RetrieveMerchant)
|
16
|
-
# endpoint to
|
18
|
+
# endpoint to retrieve the merchant information.
|
17
19
|
# @param [Integer] cursor Optional parameter: The cursor generated by the
|
18
20
|
# previous response.
|
19
21
|
# @return [ListMerchantsResponse Hash] response from the API call
|
@@ -48,7 +50,7 @@ module Square
|
|
48
50
|
)
|
49
51
|
end
|
50
52
|
|
51
|
-
#
|
53
|
+
# Retrieves the `Merchant` object for the given `merchant_id`.
|
52
54
|
# @param [String] merchant_id Required parameter: The ID of the merchant to
|
53
55
|
# retrieve. If the string "me" is supplied as the ID, then retrieve the
|
54
56
|
# merchant that is currently accessible to this call.
|
data/lib/square/api_helper.rb
CHANGED
@@ -8,18 +8,16 @@ module Square
|
|
8
8
|
def self.serialize_array(key, array, formatting: 'indexed')
|
9
9
|
tuples = []
|
10
10
|
|
11
|
-
case formatting
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
raise ArgumentError, 'Invalid format provided.'
|
22
|
-
end
|
11
|
+
tuples += case formatting
|
12
|
+
when 'csv'
|
13
|
+
[[key, array.map { |element| CGI.escape(element.to_s) }.join(',')]]
|
14
|
+
when 'psv'
|
15
|
+
[[key, array.map { |element| CGI.escape(element.to_s) }.join('|')]]
|
16
|
+
when 'tsv'
|
17
|
+
[[key, array.map { |element| CGI.escape(element.to_s) }.join("\t")]]
|
18
|
+
else
|
19
|
+
array.map { |element| [key, element] }
|
20
|
+
end
|
23
21
|
tuples
|
24
22
|
end
|
25
23
|
|
@@ -75,31 +73,19 @@ module Square
|
|
75
73
|
return query_builder if parameters.nil?
|
76
74
|
|
77
75
|
array_serialization = 'indexed'
|
76
|
+
parameters = process_complex_types_parameters(parameters, array_serialization)
|
78
77
|
|
79
78
|
parameters.each do |key, value|
|
80
79
|
seperator = query_builder.include?('?') ? '&' : '?'
|
81
80
|
unless value.nil?
|
82
81
|
if value.instance_of? Array
|
83
82
|
value.compact!
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
"#{seperator}#{key}=#{value.map do |element|
|
91
|
-
CGI.escape(element.to_s)
|
92
|
-
end.join('|')}"
|
93
|
-
when 'tsv'
|
94
|
-
"#{seperator}#{key}=#{value.map do |element|
|
95
|
-
CGI.escape(element.to_s)
|
96
|
-
end.join("\t")}"
|
97
|
-
else
|
98
|
-
"#{seperator}#{APIHelper.serialize_array(
|
99
|
-
key, value, formatting: array_serialization
|
100
|
-
).map { |k, v| "#{k}=#{CGI.escape(v.to_s)}" }
|
101
|
-
.join('&')}"
|
102
|
-
end
|
83
|
+
APIHelper.serialize_array(
|
84
|
+
key, value, formatting: array_serialization
|
85
|
+
).each do |element|
|
86
|
+
seperator = query_builder.include?('?') ? '&' : '?'
|
87
|
+
query_builder += "#{seperator}#{element[0]}=#{element[1]}"
|
88
|
+
end
|
103
89
|
else
|
104
90
|
query_builder += "#{seperator}#{key}=#{CGI.escape(value.to_s)}"
|
105
91
|
end
|
@@ -163,6 +149,18 @@ module Square
|
|
163
149
|
encoded
|
164
150
|
end
|
165
151
|
|
152
|
+
# Process complex types in query_params.
|
153
|
+
# @param [Hash] The hash of query parameters.
|
154
|
+
# @return [Hash] A hash with the processed query parameters.
|
155
|
+
def self.process_complex_types_parameters(query_parameters, array_serialization)
|
156
|
+
processed_params = {}
|
157
|
+
query_parameters.each do |key, value|
|
158
|
+
processed_params.merge!(APIHelper.form_encode(value, key, formatting:
|
159
|
+
array_serialization))
|
160
|
+
end
|
161
|
+
processed_params
|
162
|
+
end
|
163
|
+
|
166
164
|
def self.custom_merge(a, b)
|
167
165
|
x = {}
|
168
166
|
a.each do |key, value_a|
|
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
|
+
'18.0.0.20220216'
|
8
8
|
end
|
9
9
|
|
10
10
|
def square_version
|
@@ -213,16 +213,16 @@ module Square
|
|
213
213
|
@terminal ||= TerminalApi.new config
|
214
214
|
end
|
215
215
|
|
216
|
-
def initialize(
|
216
|
+
def initialize(connection: nil, timeout: 60, max_retries: 0,
|
217
217
|
retry_interval: 1, backoff_factor: 2,
|
218
218
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
219
219
|
retry_methods: %i[get put], environment: 'production',
|
220
220
|
custom_url: 'https://connect.squareup.com',
|
221
|
-
square_version: '2022-
|
221
|
+
square_version: '2022-02-16', access_token: '',
|
222
222
|
user_agent_detail: '', additional_headers: {}, config: nil)
|
223
223
|
@config = if config.nil?
|
224
|
-
Configuration.new(
|
225
|
-
|
224
|
+
Configuration.new(connection: connection, timeout: timeout,
|
225
|
+
max_retries: max_retries,
|
226
226
|
retry_interval: retry_interval,
|
227
227
|
backoff_factor: backoff_factor,
|
228
228
|
retry_statuses: retry_statuses,
|
data/lib/square/configuration.rb
CHANGED
@@ -3,9 +3,9 @@ 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, :
|
7
|
-
:
|
8
|
-
:
|
6
|
+
attr_reader :http_client, :connection, :timeout, :max_retries, :retry_interval, :backoff_factor,
|
7
|
+
:retry_statuses, :retry_methods, :environment, :custom_url, :square_version,
|
8
|
+
:access_token, :user_agent_detail
|
9
9
|
|
10
10
|
def additional_headers
|
11
11
|
@additional_headers.clone
|
@@ -15,15 +15,15 @@ module Square
|
|
15
15
|
attr_reader :environments
|
16
16
|
end
|
17
17
|
|
18
|
-
def initialize(
|
18
|
+
def initialize(connection: nil, timeout: 60, max_retries: 0,
|
19
19
|
retry_interval: 1, backoff_factor: 2,
|
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-02-16', access_token: '',
|
24
24
|
user_agent_detail: '', additional_headers: {})
|
25
|
-
# The
|
26
|
-
@
|
25
|
+
# The Faraday connection object passed by the SDK user for making requests
|
26
|
+
@connection = connection
|
27
27
|
|
28
28
|
# The value to use for connection timeout
|
29
29
|
@timeout = timeout
|
@@ -66,12 +66,12 @@ module Square
|
|
66
66
|
@user_agent_detail = get_user_agent(user_agent_detail)
|
67
67
|
end
|
68
68
|
|
69
|
-
def clone_with(
|
69
|
+
def clone_with(connection: nil, timeout: nil, max_retries: nil,
|
70
70
|
retry_interval: nil, backoff_factor: nil,
|
71
71
|
retry_statuses: nil, retry_methods: nil, environment: nil,
|
72
72
|
custom_url: nil, square_version: nil, access_token: nil,
|
73
73
|
user_agent_detail: nil, additional_headers: nil)
|
74
|
-
|
74
|
+
connection ||= self.connection
|
75
75
|
timeout ||= self.timeout
|
76
76
|
max_retries ||= self.max_retries
|
77
77
|
retry_interval ||= self.retry_interval
|
@@ -85,8 +85,8 @@ module Square
|
|
85
85
|
user_agent_detail ||= self.user_agent_detail
|
86
86
|
additional_headers ||= self.additional_headers
|
87
87
|
|
88
|
-
Configuration.new(
|
89
|
-
|
88
|
+
Configuration.new(connection: connection, timeout: timeout,
|
89
|
+
max_retries: max_retries,
|
90
90
|
retry_interval: retry_interval,
|
91
91
|
backoff_factor: backoff_factor,
|
92
92
|
retry_statuses: retry_statuses,
|
@@ -102,8 +102,7 @@ module Square
|
|
102
102
|
retry_interval: retry_interval,
|
103
103
|
backoff_factor: backoff_factor,
|
104
104
|
retry_statuses: retry_statuses,
|
105
|
-
retry_methods: retry_methods,
|
106
|
-
http_client_instance: http_client_instance)
|
105
|
+
retry_methods: retry_methods, connection: connection)
|
107
106
|
end
|
108
107
|
|
109
108
|
def get_user_agent(user_agent_detail)
|
@@ -4,29 +4,28 @@ require 'faraday_middleware'
|
|
4
4
|
module Square
|
5
5
|
# An implementation of HttpClient.
|
6
6
|
class FaradayClient < HttpClient
|
7
|
+
# The attribute readers for properties.
|
8
|
+
attr_reader :connection
|
9
|
+
|
7
10
|
# The constructor.
|
8
11
|
def initialize(timeout:, max_retries:, retry_interval:,
|
9
12
|
backoff_factor:, retry_statuses:, retry_methods:,
|
10
|
-
|
11
|
-
if
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
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
|
13
|
+
connection: nil, cache: false, verify: true)
|
14
|
+
@connection = if connection.nil?
|
15
|
+
create_connection(timeout: timeout, max_retries: max_retries,
|
16
|
+
retry_interval: retry_interval, backoff_factor: backoff_factor,
|
17
|
+
retry_statuses: retry_statuses, retry_methods: retry_methods,
|
18
|
+
cache: cache, verify: verify)
|
19
|
+
else
|
20
|
+
connection
|
21
|
+
end
|
23
22
|
end
|
24
23
|
|
25
24
|
# Method to initialize connection.
|
26
25
|
def create_connection(timeout:, max_retries:, retry_interval:,
|
27
26
|
backoff_factor:, retry_statuses:, retry_methods:,
|
28
27
|
cache: false, verify: true)
|
29
|
-
|
28
|
+
Faraday.new do |faraday|
|
30
29
|
faraday.use Faraday::HttpCache, serializer: Marshal if cache
|
31
30
|
faraday.use FaradayMiddleware::FollowRedirects
|
32
31
|
faraday.use :gzip
|
@@ -42,7 +41,6 @@ module Square
|
|
42
41
|
faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
|
43
42
|
faraday.options[:timeout] = timeout if timeout.positive?
|
44
43
|
end
|
45
|
-
@connection
|
46
44
|
end
|
47
45
|
|
48
46
|
# Method overridden from HttpClient.
|
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: 18.0.0.20220216
|
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-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logging
|