square.rb 13.1.0.20210818 → 16.0.1.20211117

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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +35 -22
  4. data/lib/square/api/apple_pay_api.rb +1 -1
  5. data/lib/square/api/base_api.rb +2 -4
  6. data/lib/square/api/bookings_api.rb +64 -4
  7. data/lib/square/api/cards_api.rb +1 -1
  8. data/lib/square/api/catalog_api.rb +10 -10
  9. data/lib/square/api/checkout_api.rb +1 -1
  10. data/lib/square/api/customer_groups_api.rb +3 -3
  11. data/lib/square/api/customer_segments_api.rb +1 -1
  12. data/lib/square/api/customers_api.rb +5 -5
  13. data/lib/square/api/devices_api.rb +1 -1
  14. data/lib/square/api/disputes_api.rb +1 -1
  15. data/lib/square/api/gift_card_activities_api.rb +26 -20
  16. data/lib/square/api/gift_cards_api.rb +29 -24
  17. data/lib/square/api/inventory_api.rb +6 -6
  18. data/lib/square/api/invoices_api.rb +5 -5
  19. data/lib/square/api/labor_api.rb +6 -6
  20. data/lib/square/api/locations_api.rb +2 -2
  21. data/lib/square/api/loyalty_api.rb +9 -9
  22. data/lib/square/api/mobile_authorization_api.rb +1 -1
  23. data/lib/square/api/o_auth_api.rb +22 -15
  24. data/lib/square/api/orders_api.rb +43 -6
  25. data/lib/square/api/payments_api.rb +12 -6
  26. data/lib/square/api/refunds_api.rb +1 -1
  27. data/lib/square/api/sites_api.rb +2 -1
  28. data/lib/square/api/snippets_api.rb +1 -1
  29. data/lib/square/api/subscriptions_api.rb +159 -16
  30. data/lib/square/api/team_api.rb +6 -6
  31. data/lib/square/api/terminal_api.rb +4 -4
  32. data/lib/square/api/transactions_api.rb +0 -188
  33. data/lib/square/api/v1_transactions_api.rb +2 -2
  34. data/lib/square/api_helper.rb +1 -0
  35. data/lib/square/client.rb +6 -11
  36. data/lib/square/configuration.rb +19 -20
  37. data/lib/square/http/api_response.rb +1 -1
  38. data/lib/square/http/faraday_client.rb +20 -1
  39. data/lib/square/utilities/file_wrapper.rb +1 -2
  40. data/lib/square.rb +48 -49
  41. data/test/test_helper.rb +1 -1
  42. metadata +7 -11
  43. data/lib/square/api/v1_employees_api.rb +0 -362
@@ -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
- attr_reader :timeout
8
- attr_reader :max_retries
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, retry_interval: 1,
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-08-18', access_token: 'TODO: Replace',
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(timeout: nil, max_retries: nil, retry_interval: 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)
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(timeout: timeout, max_retries: max_retries,
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| k == :cursor || k == :errors }
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.
@@ -1,8 +1,7 @@
1
1
  module Square
2
2
  # A utility to allow users to set the content-type for files
3
3
  class FileWrapper
4
- attr_reader :content_type
5
- attr_reader :file
4
+ attr_reader :content_type, :file
6
5
 
7
6
  def initialize(file, content_type: 'application/octet-stream')
8
7
  @file = file
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.rb'
8
- require_relative 'square/client.rb'
7
+ require_relative 'square/api_helper'
8
+ require_relative 'square/client'
9
9
 
10
10
  # Utilities
11
- require_relative 'square/utilities/file_wrapper.rb'
12
- require_relative 'square/utilities/date_time_helper.rb'
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.rb'
16
- require_relative 'square/http/http_call_back.rb'
17
- require_relative 'square/http/http_client.rb'
18
- require_relative 'square/http/faraday_client.rb'
19
- require_relative 'square/http/http_method_enum.rb'
20
- require_relative 'square/http/http_request.rb'
21
- require_relative 'square/http/http_response.rb'
22
- require_relative 'square/http/auth/o_auth2.rb'
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.rb'
27
+ require_relative 'square/exceptions/api_exception'
28
28
 
29
- require_relative 'square/configuration.rb'
29
+ require_relative 'square/configuration'
30
30
 
31
31
  # Controllers
32
- require_relative 'square/api/base_api.rb'
33
- require_relative 'square/api/mobile_authorization_api.rb'
34
- require_relative 'square/api/o_auth_api.rb'
35
- require_relative 'square/api/v1_employees_api.rb'
36
- require_relative 'square/api/v1_transactions_api.rb'
37
- require_relative 'square/api/apple_pay_api.rb'
38
- require_relative 'square/api/bank_accounts_api.rb'
39
- require_relative 'square/api/bookings_api.rb'
40
- require_relative 'square/api/cards_api.rb'
41
- require_relative 'square/api/cash_drawers_api.rb'
42
- require_relative 'square/api/catalog_api.rb'
43
- require_relative 'square/api/customers_api.rb'
44
- require_relative 'square/api/customer_groups_api.rb'
45
- require_relative 'square/api/customer_segments_api.rb'
46
- require_relative 'square/api/devices_api.rb'
47
- require_relative 'square/api/disputes_api.rb'
48
- require_relative 'square/api/employees_api.rb'
49
- require_relative 'square/api/gift_cards_api.rb'
50
- require_relative 'square/api/gift_card_activities_api.rb'
51
- require_relative 'square/api/inventory_api.rb'
52
- require_relative 'square/api/invoices_api.rb'
53
- require_relative 'square/api/labor_api.rb'
54
- require_relative 'square/api/locations_api.rb'
55
- require_relative 'square/api/checkout_api.rb'
56
- require_relative 'square/api/transactions_api.rb'
57
- require_relative 'square/api/loyalty_api.rb'
58
- require_relative 'square/api/merchants_api.rb'
59
- require_relative 'square/api/orders_api.rb'
60
- require_relative 'square/api/payments_api.rb'
61
- require_relative 'square/api/refunds_api.rb'
62
- require_relative 'square/api/sites_api.rb'
63
- require_relative 'square/api/snippets_api.rb'
64
- require_relative 'square/api/subscriptions_api.rb'
65
- require_relative 'square/api/team_api.rb'
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: 13.1.0.20210818
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-08-18 00:00:00.000000000 Z
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.3.0
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.3.0
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.4
218
+ rubygems_version: 3.1.6
223
219
  signing_key:
224
220
  specification_version: 4
225
221
  summary: square