Module: Ibanity

Defined in:
lib/ibanity.rb,
lib/ibanity/util.rb,
lib/ibanity/error.rb,
lib/ibanity/client.rb,
lib/ibanity/version.rb,
lib/ibanity/webhook.rb,
lib/ibanity/collection.rb,
lib/ibanity/http_signature.rb,
lib/ibanity/api/webhooks/key.rb,
lib/ibanity/api/xs2a/account.rb,
lib/ibanity/api/xs2a/holding.rb,
lib/ibanity/api/base_resource.rb,
lib/ibanity/api/flat_resource.rb,
lib/ibanity/api/webhooks/xs2a.rb,
lib/ibanity/api/xs2a/customer.rb,
lib/ibanity/api/consent/consent.rb,
lib/ibanity/api/o_auth_resource.rb,
lib/ibanity/api/xs2a/transaction.rb,
lib/ibanity/api/ponto_connect/token.rb,
lib/ibanity/api/ponto_connect/usage.rb,
lib/ibanity/api/isabel_connect/token.rb,
lib/ibanity/api/xs2a/synchronization.rb,
lib/ibanity/api/ponto_connect/account.rb,
lib/ibanity/api/ponto_connect/payment.rb,
lib/ibanity/api/isabel_connect/account.rb,
lib/ibanity/api/isabel_connect/balance.rb,
lib/ibanity/api/webhooks/ponto_connect.rb,
lib/ibanity/api/ponto_connect/user_info.rb,
lib/ibanity/api/xs2a/pending_transaction.rb,
lib/ibanity/api/ponto_connect/integration.rb,
lib/ibanity/api/ponto_connect/transaction.rb,
lib/ibanity/api/isabel_connect/transaction.rb,
lib/ibanity/api/ponto_connect/bulk_payment.rb,
lib/ibanity/api/xs2a/batch_synchronization.rb,
lib/ibanity/api/xs2a/customer_access_token.rb,
lib/ibanity/api/xs2a/financial_institution.rb,
lib/ibanity/api/isabel_connect/access_token.rb,
lib/ibanity/api/consent/processing_operation.rb,
lib/ibanity/api/isabel_connect/refresh_token.rb,
lib/ibanity/api/isabel_connect/account_report.rb,
lib/ibanity/api/ponto_connect/synchronization.rb,
lib/ibanity/api/xs2a/payment_initiation_request.rb,
lib/ibanity/api/ponto_connect/onboarding_details.rb,
lib/ibanity/api/ponto_connect/integration_account.rb,
lib/ibanity/api/sandbox/financial_institution_user.rb,
lib/ibanity/api/xs2a/financial_institution_country.rb,
lib/ibanity/api/isabel_connect/intraday_transaction.rb,
lib/ibanity/api/ponto_connect/financial_institution.rb,
lib/ibanity/api/xs2a/bulk_payment_initiation_request.rb,
lib/ibanity/api/ponto_connect/reauthorization_request.rb,
lib/ibanity/api/sandbox/financial_institution_account.rb,
lib/ibanity/api/sandbox/financial_institution_holding.rb,
lib/ibanity/api/xs2a/account_information_access_request.rb,
lib/ibanity/api/ponto_connect/payment_activation_request.rb,
lib/ibanity/api/xs2a/periodic_payment_initiation_request.rb,
lib/ibanity/api/sandbox/financial_institution_transaction.rb,
lib/ibanity/api/xs2a/payment_initiation_request_authorization.rb,
lib/ibanity/api/isabel_connect/bulk_payment_initiation_request.rb,
lib/ibanity/api/xs2a/bulk_payment_initiation_request_authorization.rb,
lib/ibanity/api/ponto_connect/sandbox/financial_institution_account.rb,
lib/ibanity/api/xs2a/account_information_access_request_authorization.rb,
lib/ibanity/api/xs2a/periodic_payment_initiation_request_authorization.rb,
lib/ibanity/api/ponto_connect/sandbox/financial_institution_transaction.rb

Defined Under Namespace

Modules: Consent, IsabelConnect, PontoConnect, Sandbox, Util, Webhook, Webhooks, Xs2a Classes: BaseResource, Client, Collection, Error, FlatResource, HttpSignature, OAuthResource

Constant Summary collapse

VERSION =
"2.3"

Class Method Summary collapse

Class Method Details

.clientObject



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

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

.configurationObject



90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'lib/ibanity.rb', line 90

def configuration
  @configuration ||= Struct.new(
    :certificate,
    :key,
    :key_passphrase,
    :signature_certificate,
    :signature_certificate_id,
    :signature_key,
    :signature_key_passphrase,
    :isabel_connect_client_id,
    :isabel_connect_client_secret,
    :ponto_connect_client_id,
    :ponto_connect_client_secret,
    :api_scheme,
    :api_host,
    :ssl_ca_file,
    :application_id,
    :debug_http_requests,
    :timeout
  ).new
end

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

Yields:



78
79
80
81
82
83
84
85
86
87
88
# File 'lib/ibanity.rb', line 78

def configure
  @client                    = nil
  @xs2a_api_schema           = nil
  @isabel_connect_api_schema = nil
  @consent_api_schema        = nil
  @ponto_connect_api_schema  = nil
  @webhooks_api_schema       = nil
  @sandbox_api_schema        = nil
  @configuration             = nil
  yield configuration
end


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

def consent_api_schema
  @consent_api_schema ||= client.get(uri: "#{client.base_uri}/consent")["links"]
end

.isabel_connect_api_schemaObject



120
121
122
# File 'lib/ibanity.rb', line 120

def isabel_connect_api_schema
  @isabel_connect_api_schema ||= client.get(uri: "#{client.base_uri}/isabel-connect")["links"]
end

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



144
145
146
147
148
149
150
# File 'lib/ibanity.rb', line 144

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

.ponto_connect_api_schemaObject



124
125
126
# File 'lib/ibanity.rb', line 124

def ponto_connect_api_schema
  @ponto_connect_api_schema ||= client.get(uri: "#{client.base_uri}/ponto-connect")["links"]
end

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

Returns:

  • (Boolean)


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

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

.sandbox_api_schemaObject



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

def sandbox_api_schema
  @sandbox_api_schema ||= client.get(uri: "#{client.base_uri}/sandbox")["links"]
end

.webhook_keysObject



136
137
138
# File 'lib/ibanity.rb', line 136

def webhook_keys
  @webhook_keys ||= Ibanity::Webhooks::Key.list
end

.webhooks_api_schemaObject



132
133
134
# File 'lib/ibanity.rb', line 132

def webhooks_api_schema
  @webhooks_api_schema ||= client.get(uri: "#{client.base_uri}/webhooks")["links"]
end

.xs2a_api_schemaObject



112
113
114
# File 'lib/ibanity.rb', line 112

def xs2a_api_schema
  @xs2a_api_schema ||= client.get(uri: "#{client.base_uri}/xs2a")["links"]
end