Class: Square::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/square/client.rb

Overview

square client class.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 60, max_retries: 0, retry_interval: 1, backoff_factor: 2, retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524], retry_methods: %i[get put], http_callback: nil, environment: 'production', custom_url: 'https://connect.squareup.com', access_token: '', square_version: '2023-03-15', user_agent_detail: '', additional_headers: {}, config: nil) ⇒ Client

Returns a new instance of Client.



258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
# File 'lib/square/client.rb', line 258

def initialize(connection: nil, adapter: :net_http_persistent, timeout: 60,
               max_retries: 0, retry_interval: 1, backoff_factor: 2,
               retry_statuses: [408, 413, 429, 500, 502, 503, 504, 521, 522, 524],
               retry_methods: %i[get put], http_callback: nil,
               environment: 'production',
               custom_url: 'https://connect.squareup.com', access_token: '',
               square_version: '2023-03-15', user_agent_detail: '',
               additional_headers: {}, config: nil)
  @config = if config.nil?
              Configuration.new(connection: connection, adapter: adapter,
                                timeout: timeout, max_retries: max_retries,
                                retry_interval: retry_interval,
                                backoff_factor: backoff_factor,
                                retry_statuses: retry_statuses,
                                retry_methods: retry_methods,
                                http_callback: http_callback,
                                environment: environment,
                                custom_url: custom_url,
                                access_token: access_token,
                                square_version: square_version,
                                user_agent_detail: user_agent_detail,
                                additional_headers: additional_headers)
            else
              config
            end

  custom_user_agent_parameters = {
    '{api-version}' => { 'value': @config.square_version, 'encode': false },
    '{detail}' => { 'value': @config.user_agent_detail, 'encode': true }
  }

  user_agent_params = BaseApi.user_agent_parameters.merge!(custom_user_agent_parameters)

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .user_agent(BaseApi.user_agent,
                                                         agent_parameters: user_agent_params)
                                             .additional_headers(@config.additional_headers)
                                             .global_header('Square-Version', @config.square_version)
                                             .sdk_module(Square)
                                             .symbolize_hash(true)

  initialize_auth_managers(@global_configuration)
  @global_configuration = @global_configuration.auth_managers(@auth_managers)
end

Instance Attribute Details

#auth_managersObject (readonly)

Returns the value of attribute auth_managers.



4
5
6
# File 'lib/square/client.rb', line 4

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



4
5
6
# File 'lib/square/client.rb', line 4

def config
  @config
end

Instance Method Details

#apple_payApplePayApi

Access to apple_pay controller.

Returns:



38
39
40
# File 'lib/square/client.rb', line 38

def apple_pay
  @apple_pay ||= ApplePayApi.new @global_configuration
end

#bank_accountsBankAccountsApi

Access to bank_accounts controller.

Returns:



44
45
46
# File 'lib/square/client.rb', line 44

def bank_accounts
  @bank_accounts ||= BankAccountsApi.new @global_configuration
end

#booking_custom_attributesBookingCustomAttributesApi

Access to booking_custom_attributes controller.

Returns:



56
57
58
# File 'lib/square/client.rb', line 56

def booking_custom_attributes
  @booking_custom_attributes ||= BookingCustomAttributesApi.new @global_configuration
end

#bookingsBookingsApi

Access to bookings controller.

Returns:



50
51
52
# File 'lib/square/client.rb', line 50

def bookings
  @bookings ||= BookingsApi.new @global_configuration
end

#cardsCardsApi

Access to cards controller.

Returns:

  • (CardsApi)

    Returns the controller instance.



62
63
64
# File 'lib/square/client.rb', line 62

def cards
  @cards ||= CardsApi.new @global_configuration
end

#cash_drawersCashDrawersApi

Access to cash_drawers controller.

Returns:



68
69
70
# File 'lib/square/client.rb', line 68

def cash_drawers
  @cash_drawers ||= CashDrawersApi.new @global_configuration
end

#catalogCatalogApi

Access to catalog controller.

Returns:

  • (CatalogApi)

    Returns the controller instance.



74
75
76
# File 'lib/square/client.rb', line 74

def catalog
  @catalog ||= CatalogApi.new @global_configuration
end

#checkoutCheckoutApi

Access to checkout controller.

Returns:



164
165
166
# File 'lib/square/client.rb', line 164

def checkout
  @checkout ||= CheckoutApi.new @global_configuration
end

#customer_custom_attributesCustomerCustomAttributesApi

Access to customer_custom_attributes controller.

Returns:



86
87
88
# File 'lib/square/client.rb', line 86

def customer_custom_attributes
  @customer_custom_attributes ||= CustomerCustomAttributesApi.new @global_configuration
end

#customer_groupsCustomerGroupsApi

Access to customer_groups controller.

Returns:



92
93
94
# File 'lib/square/client.rb', line 92

def customer_groups
  @customer_groups ||= CustomerGroupsApi.new @global_configuration
end

#customer_segmentsCustomerSegmentsApi

Access to customer_segments controller.

Returns:



98
99
100
# File 'lib/square/client.rb', line 98

def customer_segments
  @customer_segments ||= CustomerSegmentsApi.new @global_configuration
end

#customersCustomersApi

Access to customers controller.

Returns:



80
81
82
# File 'lib/square/client.rb', line 80

def customers
  @customers ||= CustomersApi.new @global_configuration
end

#devicesDevicesApi

Access to devices controller.

Returns:

  • (DevicesApi)

    Returns the controller instance.



104
105
106
# File 'lib/square/client.rb', line 104

def devices
  @devices ||= DevicesApi.new @global_configuration
end

#disputesDisputesApi

Access to disputes controller.

Returns:



110
111
112
# File 'lib/square/client.rb', line 110

def disputes
  @disputes ||= DisputesApi.new @global_configuration
end

#employeesEmployeesApi

Access to employees controller.

Returns:



116
117
118
# File 'lib/square/client.rb', line 116

def employees
  @employees ||= EmployeesApi.new @global_configuration
end

#gift_card_activitiesGiftCardActivitiesApi

Access to gift_card_activities controller.

Returns:



128
129
130
# File 'lib/square/client.rb', line 128

def gift_card_activities
  @gift_card_activities ||= GiftCardActivitiesApi.new @global_configuration
end

#gift_cardsGiftCardsApi

Access to gift_cards controller.

Returns:



122
123
124
# File 'lib/square/client.rb', line 122

def gift_cards
  @gift_cards ||= GiftCardsApi.new @global_configuration
end

#initialize_auth_managers(global_config) ⇒ Object

Initializes the auth managers hash used for authenticating API calls.

Parameters:

  • global_config (GlobalConfiguration)

    The global configuration of the SDK)



306
307
308
309
310
311
# File 'lib/square/client.rb', line 306

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  ['global'].each { |auth| @auth_managers[auth] = nil }
  @auth_managers['global'] = OAuth2.new(http_client_config.access_token)
end

#inventoryInventoryApi

Access to inventory controller.

Returns:



134
135
136
# File 'lib/square/client.rb', line 134

def inventory
  @inventory ||= InventoryApi.new @global_configuration
end

#invoicesInvoicesApi

Access to invoices controller.

Returns:



140
141
142
# File 'lib/square/client.rb', line 140

def invoices
  @invoices ||= InvoicesApi.new @global_configuration
end

#laborLaborApi

Access to labor controller.

Returns:

  • (LaborApi)

    Returns the controller instance.



146
147
148
# File 'lib/square/client.rb', line 146

def labor
  @labor ||= LaborApi.new @global_configuration
end

#location_custom_attributesLocationCustomAttributesApi

Access to location_custom_attributes controller.

Returns:



158
159
160
# File 'lib/square/client.rb', line 158

def location_custom_attributes
  @location_custom_attributes ||= LocationCustomAttributesApi.new @global_configuration
end

#locationsLocationsApi

Access to locations controller.

Returns:



152
153
154
# File 'lib/square/client.rb', line 152

def locations
  @locations ||= LocationsApi.new @global_configuration
end

#loyaltyLoyaltyApi

Access to loyalty controller.

Returns:

  • (LoyaltyApi)

    Returns the controller instance.



176
177
178
# File 'lib/square/client.rb', line 176

def loyalty
  @loyalty ||= LoyaltyApi.new @global_configuration
end

#merchantsMerchantsApi

Access to merchants controller.

Returns:



182
183
184
# File 'lib/square/client.rb', line 182

def merchants
  @merchants ||= MerchantsApi.new @global_configuration
end

#mobile_authorizationMobileAuthorizationApi

Access to mobile_authorization controller.

Returns:



20
21
22
# File 'lib/square/client.rb', line 20

def mobile_authorization
  @mobile_authorization ||= MobileAuthorizationApi.new @global_configuration
end

#o_authOAuthApi

Access to o_auth controller.

Returns:

  • (OAuthApi)

    Returns the controller instance.



26
27
28
# File 'lib/square/client.rb', line 26

def o_auth
  @o_auth ||= OAuthApi.new @global_configuration
end

#order_custom_attributesOrderCustomAttributesApi

Access to order_custom_attributes controller.

Returns:



194
195
196
# File 'lib/square/client.rb', line 194

def order_custom_attributes
  @order_custom_attributes ||= OrderCustomAttributesApi.new @global_configuration
end

#ordersOrdersApi

Access to orders controller.

Returns:

  • (OrdersApi)

    Returns the controller instance.



188
189
190
# File 'lib/square/client.rb', line 188

def orders
  @orders ||= OrdersApi.new @global_configuration
end

#paymentsPaymentsApi

Access to payments controller.

Returns:



200
201
202
# File 'lib/square/client.rb', line 200

def payments
  @payments ||= PaymentsApi.new @global_configuration
end

#payoutsPayoutsApi

Access to payouts controller.

Returns:

  • (PayoutsApi)

    Returns the controller instance.



206
207
208
# File 'lib/square/client.rb', line 206

def payouts
  @payouts ||= PayoutsApi.new @global_configuration
end

#refundsRefundsApi

Access to refunds controller.

Returns:

  • (RefundsApi)

    Returns the controller instance.



212
213
214
# File 'lib/square/client.rb', line 212

def refunds
  @refunds ||= RefundsApi.new @global_configuration
end

#sdk_versionObject



6
7
8
# File 'lib/square/client.rb', line 6

def sdk_version
  '26.2.0.20230315'
end

#sitesSitesApi

Access to sites controller.

Returns:

  • (SitesApi)

    Returns the controller instance.



218
219
220
# File 'lib/square/client.rb', line 218

def sites
  @sites ||= SitesApi.new @global_configuration
end

#snippetsSnippetsApi

Access to snippets controller.

Returns:



224
225
226
# File 'lib/square/client.rb', line 224

def snippets
  @snippets ||= SnippetsApi.new @global_configuration
end

#square_versionObject



10
11
12
# File 'lib/square/client.rb', line 10

def square_version
  config.square_version
end

#subscriptionsSubscriptionsApi

Access to subscriptions controller.

Returns:



230
231
232
# File 'lib/square/client.rb', line 230

def subscriptions
  @subscriptions ||= SubscriptionsApi.new @global_configuration
end

#teamTeamApi

Access to team controller.

Returns:

  • (TeamApi)

    Returns the controller instance.



236
237
238
# File 'lib/square/client.rb', line 236

def team
  @team ||= TeamApi.new @global_configuration
end

#terminalTerminalApi

Access to terminal controller.

Returns:



242
243
244
# File 'lib/square/client.rb', line 242

def terminal
  @terminal ||= TerminalApi.new @global_configuration
end

#transactionsTransactionsApi

Access to transactions controller.

Returns:



170
171
172
# File 'lib/square/client.rb', line 170

def transactions
  @transactions ||= TransactionsApi.new @global_configuration
end

#user_agent_detailObject



14
15
16
# File 'lib/square/client.rb', line 14

def user_agent_detail
  config.user_agent_detail
end

#v1_transactionsV1TransactionsApi

Access to v1_transactions controller.

Returns:



32
33
34
# File 'lib/square/client.rb', line 32

def v1_transactions
  @v1_transactions ||= V1TransactionsApi.new @global_configuration
end

#vendorsVendorsApi

Access to vendors controller.

Returns:

  • (VendorsApi)

    Returns the controller instance.



248
249
250
# File 'lib/square/client.rb', line 248

def vendors
  @vendors ||= VendorsApi.new @global_configuration
end

#webhook_subscriptionsWebhookSubscriptionsApi

Access to webhook_subscriptions controller.

Returns:



254
255
256
# File 'lib/square/client.rb', line 254

def webhook_subscriptions
  @webhook_subscriptions ||= WebhookSubscriptionsApi.new @global_configuration
end