Sha256: 7197b0799beda76fa60970b73c21df6af36113fdb8d29cdef35dd6ec13b8955a

Contents?: true

Size: 1.38 KB

Versions: 35

Compression:

Stored size: 1.38 KB

Contents

module CatarsePagarme::BankAccountConcern
  extend ActiveSupport::Concern

  included do

    validate :must_be_valid_on_pagarme

    def must_be_valid_on_pagarme
      pagarme_errors.each do |p_error|
        _attr = attributes_parsed_from_pagarme[p_error.parameter_name.to_sym]
        errors.add(_attr, :invalid)
      end
    end

    private

    def pagarme_errors
      configure_pagarme
      bank_account = ::PagarMe::BankAccount.new(attributes_parsed_to_pagarme)

      begin
        bank_account.create

        []
      rescue Exception => e
        e.errors
      end
    end

    def attributes_parsed_to_pagarme
      pagarme_params = {
        bank_code: bank.try(:code),
        agencia: agency,
        conta: account,
        conta_dv: account_digit,
        legal_name: user.name.try(:[], 0..29),
        document_number: user.cpf,
        type: account_type
      }
      pagarme_params[:agencia_dv] = agency_digit unless agency_digit.blank?
      pagarme_params
    end

    def attributes_parsed_from_pagarme
      {
        bank_code: :bank,
        agencia: :agency,
        agencia_dv: :agency_digit,
        conta: :account,
        conta_dv: :account_digit,
        legal_name: :owner_name,
        document_number: :owner_document,
        type: :account_type
      }
    end

    def configure_pagarme
      ::PagarMe.api_key = CatarsePagarme.configuration.api_key
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
catarse_pagarme-3.0.1 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-3.0.0 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.16.3 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.16.2 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.16.1 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.16.0 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.15.0 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.14 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.13 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.12 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.11 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.10 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.9 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.8 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.7 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.6 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.5 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.4 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.3 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.14.2 app/models/catarse_pagarme/bank_account_concern.rb