Module: Ponto

Defined in:
lib/ponto.rb,
lib/ponto/util.rb,
lib/ponto/error.rb,
lib/ponto/client.rb,
lib/ponto/version.rb,
lib/ponto/collection.rb,
lib/ponto/api/account.rb,
lib/ponto/api/payment.rb,
lib/ponto/api/transaction.rb,
lib/ponto/api/access_token.rb,
lib/ponto/api/bulk_payment.rb,
lib/ponto/api/base_resource.rb,
lib/ponto/api/o_auth_resource.rb,
lib/ponto/api/synchronization.rb,
lib/ponto/api/financial_institution.rb,
lib/ponto/api/sandbox/financial_institution.rb,
lib/ponto/api/sandbox/financial_institution_account.rb,
lib/ponto/api/sandbox/financial_institution_transaction.rb

Defined Under Namespace

Modules: Sandbox, Util Classes: AccessToken, Account, BaseResource, BulkPayment, Client, Collection, Error, FinancialInstitution, OAuthResource, Payment, Synchronization, Transaction

Constant Summary collapse

VERSION =
"2.0"

Class Method Summary collapse

Class Method Details

.api_schemaObject



52
53
54
# File 'lib/ponto.rb', line 52

def api_schema
  @api_schema ||= client.get(uri: client.base_uri)["links"]
end

.clientObject



28
29
30
31
# File 'lib/ponto.rb', line 28

def client
  options = configuration.to_h.delete_if { |_, v| v.nil? }
  @client ||= Ponto::Client.new(**options)
end

.configurationObject



40
41
42
43
44
45
46
47
48
49
50
# File 'lib/ponto.rb', line 40

def configuration
  @configuration ||= Struct.new(
    :client_id,
    :client_secret,
    :token,
    :api_scheme,
    :api_host,
    :api_port,
    :ssl_ca_file
  ).new
end

.configure {|configuration| ... } ⇒ Object

Yields:



33
34
35
36
37
38
# File 'lib/ponto.rb', line 33

def configure
  @client        = nil
  @api_schema    = nil
  @configuration = nil
  yield configuration
end

.method_missing(method_name, *args, &block) ⇒ Object



60
61
62
63
64
65
66
# File 'lib/ponto.rb', line 60

def method_missing(method_name, *args, &block)
  if client.respond_to?(method_name)
    client.__send__(method_name, *args, &block)
  else
    super
  end
end

.respond_to_missing?(method_name, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


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

def respond_to_missing?(method_name, include_private = false)
  client.respond_to?(method_name, include_private)
end