Class: UnivapayClientSdk::Client

Inherits:
Object
  • Object
show all
Includes:
CoreLibrary
Defined in:
lib/univapay_client_sdk/client.rb

Overview

univapay_client_sdk client class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection: nil, adapter: :net_http_persistent, timeout: 30, 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, proxy_settings: nil, logging_configuration: nil, environment: Environment::PRODUCTION, base_url: 'https://api.univapay.com', bearer_auth_credentials: nil, config: nil) ⇒ Client

Returns a new instance of Client.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/univapay_client_sdk/client.rb', line 64

def initialize(
  connection: nil, adapter: :net_http_persistent, timeout: 30,
  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, proxy_settings: nil,
  logging_configuration: nil, environment: Environment::PRODUCTION,
  base_url: 'https://api.univapay.com', bearer_auth_credentials: nil,
  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,
                proxy_settings: proxy_settings,
                logging_configuration: logging_configuration,
                environment: environment, base_url: base_url,
                bearer_auth_credentials: bearer_auth_credentials
              )
            else
              config
            end
  user_agent_params = BaseApi.user_agent_parameters

  @global_configuration = GlobalConfiguration.new(client_configuration: @config)
                                             .base_uri_executor(@config.method(:get_base_uri))
                                             .global_errors(BaseApi::GLOBAL_ERRORS)
                                             .user_agent(BaseApi.user_agent,
                                                         agent_parameters: user_agent_params)

  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.



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

def auth_managers
  @auth_managers
end

#configObject (readonly)

Returns the value of attribute config.



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

def config
  @config
end

Class Method Details

.from_env(**overrides) ⇒ Object

Creates a client directly from environment variables.



110
111
112
113
114
# File 'lib/univapay_client_sdk/client.rb', line 110

def self.from_env(**overrides)
  default_config = Configuration.build_default_config_from_env
  new_config = default_config.clone_with(**overrides)
  new(config: new_config)
end

Instance Method Details

#cancelsCancelsApi

Access to cancels controller.

Returns:

  • (CancelsApi)

    Returns the controller instance.



42
43
44
# File 'lib/univapay_client_sdk/client.rb', line 42

def cancels
  @cancels ||= CancelsApi.new @global_configuration
end

#chargesChargesApi

Access to charges controller.

Returns:

  • (ChargesApi)

    Returns the controller instance.



18
19
20
# File 'lib/univapay_client_sdk/client.rb', line 18

def charges
  @charges ||= ChargesApi.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)



102
103
104
105
106
107
# File 'lib/univapay_client_sdk/client.rb', line 102

def initialize_auth_managers(global_config)
  @auth_managers = {}
  http_client_config = global_config.client_configuration
  %w[JWT_TOKEN].each { |auth| @auth_managers[auth] = nil }
  @auth_managers['JWT_TOKEN'] = Oauth2.new(http_client_config.bearer_auth_credentials)
end

#merchantsMerchantsApi

Access to merchants controller.

Returns:



48
49
50
# File 'lib/univapay_client_sdk/client.rb', line 48

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

#refundsRefundsApi

Access to refunds controller.

Returns:

  • (RefundsApi)

    Returns the controller instance.



30
31
32
# File 'lib/univapay_client_sdk/client.rb', line 30

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

#storesStoresApi

Access to stores controller.

Returns:

  • (StoresApi)

    Returns the controller instance.



54
55
56
# File 'lib/univapay_client_sdk/client.rb', line 54

def stores
  @stores ||= StoresApi.new @global_configuration
end

#subscriptionsSubscriptionsApi

Access to subscriptions controller.

Returns:



36
37
38
# File 'lib/univapay_client_sdk/client.rb', line 36

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

#transaction_tokensTransactionTokensApi

Access to transaction_tokens controller.

Returns:



24
25
26
# File 'lib/univapay_client_sdk/client.rb', line 24

def transaction_tokens
  @transaction_tokens ||= TransactionTokensApi.new @global_configuration
end

#user_agent_detailObject



12
13
14
# File 'lib/univapay_client_sdk/client.rb', line 12

def user_agent_detail
  config.user_agent_detail
end

#webhooksWebhooksApi

Access to webhooks controller.

Returns:



60
61
62
# File 'lib/univapay_client_sdk/client.rb', line 60

def webhooks
  @webhooks ||= WebhooksApi.new @global_configuration
end