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/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/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/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/ponto_connect/sandbox/financial_institution_account.rb,
lib/ibanity/api/xs2a/account_information_access_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.0.0"

Class Method Summary collapse

Class Method Details

.clientObject



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

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

.configurationObject



85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/ibanity.rb', line 85

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:



73
74
75
76
77
78
79
80
81
82
83
# File 'lib/ibanity.rb', line 73

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


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

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

.isabel_connect_api_schemaObject



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

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



139
140
141
142
143
144
145
# File 'lib/ibanity.rb', line 139

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



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

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)


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

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

.sandbox_api_schemaObject



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

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

.webhook_keysObject



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

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

.webhooks_api_schemaObject



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

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

.xs2a_api_schemaObject



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

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