Class: Paid::AsyncClient

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token:, base_url: nil, environment: Paid::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil) ⇒ Paid::AsyncClient

Parameters:

  • base_url (String) (defaults to: nil)
  • environment (Paid::Environment) (defaults to: Paid::Environment::PRODUCTION)
  • max_retries (Long) (defaults to: nil)

    The number of times to retry a failed request, defaults to 2.

  • timeout_in_seconds (Long) (defaults to: nil)
  • token (String)


82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/paid_ruby.rb', line 82

def initialize(token:, base_url: nil, environment: Paid::Environment::PRODUCTION, max_retries: nil,
               timeout_in_seconds: nil)
  @async_request_client = Paid::AsyncRequestClient.new(
    base_url: base_url,
    environment: environment,
    max_retries: max_retries,
    timeout_in_seconds: timeout_in_seconds,
    token: token
  )
  @customers = Paid::AsyncCustomersClient.new(request_client: @async_request_client)
  @agents = Paid::AsyncAgentsClient.new(request_client: @async_request_client)
  @contacts = Paid::AsyncContactsClient.new(request_client: @async_request_client)
  @orders = Paid::AsyncOrdersClient.new(request_client: @async_request_client)
  @usage = Paid::AsyncBatchUsageClient.new(request_client: @async_request_client)
end

Instance Attribute Details

#agentsPaid::AsyncAgentsClient (readonly)



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

def agents
  @agents
end

#contactsPaid::AsyncContactsClient (readonly)



70
71
72
# File 'lib/paid_ruby.rb', line 70

def contacts
  @contacts
end

#customersPaid::AsyncCustomersClient (readonly)



66
67
68
# File 'lib/paid_ruby.rb', line 66

def customers
  @customers
end

#ordersPaid::AsyncOrdersClient (readonly)



72
73
74
# File 'lib/paid_ruby.rb', line 72

def orders
  @orders
end

#usagePaid::AsyncUsageClient (readonly)



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

def usage
  @usage
end

Instance Method Details

#capture(*args, external_customer_id:, &block) ⇒ Object

Parameters:

  • external_customer_id (String)
  • args (Array)
  • block (Proc)


107
108
109
# File 'lib/paid_ruby.rb', line 107

def capture(*args, external_customer_id:, &block)
  Paid::Tracing.capture(*args, external_customer_id: external_customer_id, &block)
end

#initialize_tracingObject



98
99
100
101
102
# File 'lib/paid_ruby.rb', line 98

def initialize_tracing
  token = @async_request_client.token
  api_key = token.gsub(/^Bearer /, "")
  Paid::Tracing.initialize_tracing(api_key: api_key)
end