Class: Biro::Bacen::Response
- Inherits:
-
Biro::BaseResponse
- Object
- Biro::BaseResponse
- Biro::Bacen::Response
- Defined in:
- lib/biro/gateways/bacen/response.rb
Instance Attribute Summary
Attributes inherited from Biro::BaseResponse
Instance Method Summary collapse
- #assumed_co_obligation ⇒ Object
- #base_date ⇒ Object
- #cnpj_if ⇒ Object
- #cpf ⇒ Object
- #customer_type ⇒ Object
- #indirect_risk ⇒ Object
-
#initialize(response) ⇒ Response
constructor
A new instance of Response.
- #institutions_amount ⇒ Object
- #invoice_list ⇒ Object
- #invoice_list_item(items) ⇒ Object
- #operation_amount ⇒ Object
- #processed_documents_percentage ⇒ Object
- #processed_volume_percentage ⇒ Object
- #received_co_obligation ⇒ Object
- #relationship_initial_date ⇒ Object
- #result_validation ⇒ Object
- #sub_judice_operation_amount ⇒ Object
- #sub_judice_total_responsibility ⇒ Object
- #unconformity_operation_amount ⇒ Object
- #unconformity_total_responsibility ⇒ Object
Constructor Details
#initialize(response) ⇒ Response
Returns a new instance of Response.
6 7 8 |
# File 'lib/biro/gateways/bacen/response.rb', line 6 def initialize(response) @body = response.body end |
Instance Method Details
#assumed_co_obligation ⇒ Object
18 19 20 |
# File 'lib/biro/gateways/bacen/response.rb', line 18 def assumed_co_obligation result.dig(:coobrigacao_assumida)&.to_f&.round(2) end |
#base_date ⇒ Object
26 27 28 |
# File 'lib/biro/gateways/bacen/response.rb', line 26 def base_date result.dig(:data_base_consultada) end |
#cnpj_if ⇒ Object
10 11 12 |
# File 'lib/biro/gateways/bacen/response.rb', line 10 def cnpj_if result.dig(:cnpj_da_if_solicitante) end |
#cpf ⇒ Object
14 15 16 |
# File 'lib/biro/gateways/bacen/response.rb', line 14 def cpf result.dig(:codigo_do_cliente) end |
#customer_type ⇒ Object
91 92 93 |
# File 'lib/biro/gateways/bacen/response.rb', line 91 def customer_type result.dig(:tipo_do_cliente).to_i end |
#indirect_risk ⇒ Object
87 88 89 |
# File 'lib/biro/gateways/bacen/response.rb', line 87 def indirect_risk result.dig(:risco_indireto_vendor).to_i end |
#institutions_amount ⇒ Object
63 64 65 |
# File 'lib/biro/gateways/bacen/response.rb', line 63 def institutions_amount result.dig(:quantidade_de_instituicoes).to_i end |
#invoice_list ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/biro/gateways/bacen/response.rb', line 34 def invoice_list return if operation_list.blank? Array.wrap(result.dig(:lista_de_resumo_das_operacoes)).map do |item| { :tax_variation => item[:variacao_cambial], :modality => item[:modalidade], :dues_list => invoice_list_item(item[:lista_de_vencimentos]) } end end |
#invoice_list_item(items) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/biro/gateways/bacen/response.rb', line 46 def invoice_list_item(items) Array.wrap(items).map do |item| { :code => item[:codigo_vencimento], :value => item[:valor_vencimento] } end end |
#operation_amount ⇒ Object
67 68 69 |
# File 'lib/biro/gateways/bacen/response.rb', line 67 def operation_amount result.dig(:quantidade_de_operacoes).to_i end |
#processed_documents_percentage ⇒ Object
55 56 57 |
# File 'lib/biro/gateways/bacen/response.rb', line 55 def processed_documents_percentage result.dig(:percentual_documentos_processados)&.to_f&.round(2) end |
#processed_volume_percentage ⇒ Object
59 60 61 |
# File 'lib/biro/gateways/bacen/response.rb', line 59 def processed_volume_percentage result.dig(:percentual_volume_processado)&.to_f&.round(2) end |
#received_co_obligation ⇒ Object
22 23 24 |
# File 'lib/biro/gateways/bacen/response.rb', line 22 def received_co_obligation result.dig(:coobrigacao_recebida)&.to_f&.round(2) end |
#relationship_initial_date ⇒ Object
30 31 32 |
# File 'lib/biro/gateways/bacen/response.rb', line 30 def relationship_initial_date result.dig(:data_inicio_relacionamento)&.to_date end |
#result_validation ⇒ Object
95 96 97 98 99 100 101 |
# File 'lib/biro/gateways/bacen/response.rb', line 95 def result_validation validation_content = result.dig(:lista_de_mensagens_de_validacao) return { } if validation_content.blank? validation_content end |
#sub_judice_operation_amount ⇒ Object
75 76 77 |
# File 'lib/biro/gateways/bacen/response.rb', line 75 def sub_judice_operation_amount result.dig(:quantidade_operacoes_sub_judice).to_i end |
#sub_judice_total_responsibility ⇒ Object
83 84 85 |
# File 'lib/biro/gateways/bacen/response.rb', line 83 def sub_judice_total_responsibility result.dig(:responsabilidade_total_sub_judice).to_i end |
#unconformity_operation_amount ⇒ Object
71 72 73 |
# File 'lib/biro/gateways/bacen/response.rb', line 71 def unconformity_operation_amount result.dig(:quantidade_operacoes_discordancia).to_i end |
#unconformity_total_responsibility ⇒ Object
79 80 81 |
# File 'lib/biro/gateways/bacen/response.rb', line 79 def unconformity_total_responsibility result.dig(:responsabilidade_total_discordancia).to_i end |