square.rb 13.1.0.20210818 → 16.0.1.20211117
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 +35 -22
- data/lib/square/api/apple_pay_api.rb +1 -1
- data/lib/square/api/base_api.rb +2 -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 +10 -10
- 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 +2 -2
- data/lib/square/api/loyalty_api.rb +9 -9
- data/lib/square/api/mobile_authorization_api.rb +1 -1
- data/lib/square/api/o_auth_api.rb +22 -15
- data/lib/square/api/orders_api.rb +43 -6
- 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/api_helper.rb +1 -0
- data/lib/square/client.rb +6 -11
- data/lib/square/configuration.rb +19 -20
- data/lib/square/http/api_response.rb +1 -1
- data/lib/square/http/faraday_client.rb +20 -1
- data/lib/square/utilities/file_wrapper.rb +1 -2
- data/lib/square.rb +48 -49
- data/test/test_helper.rb +1 -1
- metadata +7 -11
- data/lib/square/api/v1_employees_api.rb +0 -362
data/lib/square/configuration.rb
CHANGED
@@ -3,17 +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
|
-
|
9
|
-
attr_reader :retry_interval
|
10
|
-
attr_reader :backoff_factor
|
11
|
-
attr_reader :retry_statuses
|
12
|
-
attr_reader :retry_methods
|
13
|
-
attr_reader :environment
|
14
|
-
attr_reader :custom_url
|
15
|
-
attr_reader :square_version
|
16
|
-
attr_reader :access_token
|
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
|
17
9
|
|
18
10
|
def additional_headers
|
19
11
|
@additional_headers.clone
|
@@ -23,13 +15,16 @@ module Square
|
|
23
15
|
attr_reader :environments
|
24
16
|
end
|
25
17
|
|
26
|
-
def initialize(timeout: 60, max_retries: 0,
|
27
|
-
backoff_factor: 2,
|
18
|
+
def initialize(http_client_instance: nil, timeout: 60, max_retries: 0,
|
19
|
+
retry_interval: 1, backoff_factor: 2,
|
28
20
|
retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
|
29
21
|
retry_methods: %i[get put], environment: 'production',
|
30
22
|
custom_url: 'https://connect.squareup.com',
|
31
|
-
square_version: '2021-
|
23
|
+
square_version: '2021-11-17', access_token: '',
|
32
24
|
additional_headers: {})
|
25
|
+
# The Http Client passed from the sdk user for making requests
|
26
|
+
@http_client_instance = http_client_instance
|
27
|
+
|
33
28
|
# The value to use for connection timeout
|
34
29
|
@timeout = timeout
|
35
30
|
|
@@ -68,10 +63,12 @@ module Square
|
|
68
63
|
@http_client = create_http_client
|
69
64
|
end
|
70
65
|
|
71
|
-
def clone_with(
|
72
|
-
|
73
|
-
|
74
|
-
|
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
|
+
additional_headers: nil)
|
71
|
+
http_client_instance ||= self.http_client_instance
|
75
72
|
timeout ||= self.timeout
|
76
73
|
max_retries ||= self.max_retries
|
77
74
|
retry_interval ||= self.retry_interval
|
@@ -84,7 +81,8 @@ module Square
|
|
84
81
|
access_token ||= self.access_token
|
85
82
|
additional_headers ||= self.additional_headers
|
86
83
|
|
87
|
-
Configuration.new(
|
84
|
+
Configuration.new(http_client_instance: http_client_instance,
|
85
|
+
timeout: timeout, max_retries: max_retries,
|
88
86
|
retry_interval: retry_interval,
|
89
87
|
backoff_factor: backoff_factor,
|
90
88
|
retry_statuses: retry_statuses,
|
@@ -99,7 +97,8 @@ module Square
|
|
99
97
|
retry_interval: retry_interval,
|
100
98
|
backoff_factor: backoff_factor,
|
101
99
|
retry_statuses: retry_statuses,
|
102
|
-
retry_methods: retry_methods
|
100
|
+
retry_methods: retry_methods,
|
101
|
+
http_client_instance: http_client_instance)
|
103
102
|
end
|
104
103
|
|
105
104
|
# 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.
|
data/lib/square.rb
CHANGED
@@ -4,63 +4,62 @@ require 'faraday'
|
|
4
4
|
require 'certifi'
|
5
5
|
require 'logging'
|
6
6
|
|
7
|
-
require_relative 'square/api_helper
|
8
|
-
require_relative 'square/client
|
7
|
+
require_relative 'square/api_helper'
|
8
|
+
require_relative 'square/client'
|
9
9
|
|
10
10
|
# Utilities
|
11
|
-
require_relative 'square/utilities/file_wrapper
|
12
|
-
require_relative 'square/utilities/date_time_helper
|
11
|
+
require_relative 'square/utilities/file_wrapper'
|
12
|
+
require_relative 'square/utilities/date_time_helper'
|
13
13
|
|
14
14
|
# Http
|
15
|
-
require_relative 'square/http/api_response
|
16
|
-
require_relative 'square/http/http_call_back
|
17
|
-
require_relative 'square/http/http_client
|
18
|
-
require_relative 'square/http/faraday_client
|
19
|
-
require_relative 'square/http/http_method_enum
|
20
|
-
require_relative 'square/http/http_request
|
21
|
-
require_relative 'square/http/http_response
|
22
|
-
require_relative 'square/http/auth/o_auth2
|
15
|
+
require_relative 'square/http/api_response'
|
16
|
+
require_relative 'square/http/http_call_back'
|
17
|
+
require_relative 'square/http/http_client'
|
18
|
+
require_relative 'square/http/faraday_client'
|
19
|
+
require_relative 'square/http/http_method_enum'
|
20
|
+
require_relative 'square/http/http_request'
|
21
|
+
require_relative 'square/http/http_response'
|
22
|
+
require_relative 'square/http/auth/o_auth2'
|
23
23
|
|
24
24
|
# Models
|
25
25
|
|
26
26
|
# Exceptions
|
27
|
-
require_relative 'square/exceptions/api_exception
|
27
|
+
require_relative 'square/exceptions/api_exception'
|
28
28
|
|
29
|
-
require_relative 'square/configuration
|
29
|
+
require_relative 'square/configuration'
|
30
30
|
|
31
31
|
# Controllers
|
32
|
-
require_relative 'square/api/base_api
|
33
|
-
require_relative 'square/api/mobile_authorization_api
|
34
|
-
require_relative 'square/api/o_auth_api
|
35
|
-
require_relative 'square/api/
|
36
|
-
require_relative 'square/api/
|
37
|
-
require_relative 'square/api/
|
38
|
-
require_relative 'square/api/
|
39
|
-
require_relative 'square/api/
|
40
|
-
require_relative 'square/api/
|
41
|
-
require_relative 'square/api/
|
42
|
-
require_relative 'square/api/
|
43
|
-
require_relative 'square/api/
|
44
|
-
require_relative 'square/api/
|
45
|
-
require_relative 'square/api/
|
46
|
-
require_relative 'square/api/
|
47
|
-
require_relative 'square/api/
|
48
|
-
require_relative 'square/api/
|
49
|
-
require_relative 'square/api/
|
50
|
-
require_relative 'square/api/
|
51
|
-
require_relative 'square/api/
|
52
|
-
require_relative 'square/api/
|
53
|
-
require_relative 'square/api/
|
54
|
-
require_relative 'square/api/
|
55
|
-
require_relative 'square/api/
|
56
|
-
require_relative 'square/api/
|
57
|
-
require_relative 'square/api/
|
58
|
-
require_relative 'square/api/
|
59
|
-
require_relative 'square/api/
|
60
|
-
require_relative 'square/api/
|
61
|
-
require_relative 'square/api/
|
62
|
-
require_relative 'square/api/
|
63
|
-
require_relative 'square/api/
|
64
|
-
require_relative 'square/api/
|
65
|
-
require_relative 'square/api/
|
66
|
-
require_relative 'square/api/terminal_api.rb'
|
32
|
+
require_relative 'square/api/base_api'
|
33
|
+
require_relative 'square/api/mobile_authorization_api'
|
34
|
+
require_relative 'square/api/o_auth_api'
|
35
|
+
require_relative 'square/api/v1_transactions_api'
|
36
|
+
require_relative 'square/api/apple_pay_api'
|
37
|
+
require_relative 'square/api/bank_accounts_api'
|
38
|
+
require_relative 'square/api/bookings_api'
|
39
|
+
require_relative 'square/api/cards_api'
|
40
|
+
require_relative 'square/api/cash_drawers_api'
|
41
|
+
require_relative 'square/api/catalog_api'
|
42
|
+
require_relative 'square/api/customers_api'
|
43
|
+
require_relative 'square/api/customer_groups_api'
|
44
|
+
require_relative 'square/api/customer_segments_api'
|
45
|
+
require_relative 'square/api/devices_api'
|
46
|
+
require_relative 'square/api/disputes_api'
|
47
|
+
require_relative 'square/api/employees_api'
|
48
|
+
require_relative 'square/api/gift_cards_api'
|
49
|
+
require_relative 'square/api/gift_card_activities_api'
|
50
|
+
require_relative 'square/api/inventory_api'
|
51
|
+
require_relative 'square/api/invoices_api'
|
52
|
+
require_relative 'square/api/labor_api'
|
53
|
+
require_relative 'square/api/locations_api'
|
54
|
+
require_relative 'square/api/checkout_api'
|
55
|
+
require_relative 'square/api/transactions_api'
|
56
|
+
require_relative 'square/api/loyalty_api'
|
57
|
+
require_relative 'square/api/merchants_api'
|
58
|
+
require_relative 'square/api/orders_api'
|
59
|
+
require_relative 'square/api/payments_api'
|
60
|
+
require_relative 'square/api/refunds_api'
|
61
|
+
require_relative 'square/api/sites_api'
|
62
|
+
require_relative 'square/api/snippets_api'
|
63
|
+
require_relative 'square/api/subscriptions_api'
|
64
|
+
require_relative 'square/api/team_api'
|
65
|
+
require_relative 'square/api/terminal_api'
|
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: 16.0.1.20211117
|
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-11-29 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.
|
36
|
+
version: 1.0.1
|
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.
|
46
|
+
version: 1.0.1
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: faraday_middleware
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -169,7 +169,6 @@ files:
|
|
169
169
|
- lib/square/api/team_api.rb
|
170
170
|
- lib/square/api/terminal_api.rb
|
171
171
|
- lib/square/api/transactions_api.rb
|
172
|
-
- lib/square/api/v1_employees_api.rb
|
173
172
|
- lib/square/api/v1_transactions_api.rb
|
174
173
|
- lib/square/api_helper.rb
|
175
174
|
- lib/square/client.rb
|
@@ -210,16 +209,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
210
209
|
- - ">="
|
211
210
|
- !ruby/object:Gem::Version
|
212
211
|
version: '2.5'
|
213
|
-
- - "<"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: '3.0'
|
216
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
217
213
|
requirements:
|
218
214
|
- - ">="
|
219
215
|
- !ruby/object:Gem::Version
|
220
216
|
version: '0'
|
221
217
|
requirements: []
|
222
|
-
rubygems_version: 3.1.
|
218
|
+
rubygems_version: 3.1.6
|
223
219
|
signing_key:
|
224
220
|
specification_version: 4
|
225
221
|
summary: square
|