Sha256: 7a54385af998fa5c0e0f2319d09c9c6ef59557ccd6acf90ac98c2f1c35a743df

Contents?: true

Size: 1.35 KB

Versions: 13

Compression:

Stored size: 1.35 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: self.bank.try(:code),
        agencia: self.agency,
        conta: self.account,
        conta_dv: self.account_digit,
        legal_name: self.owner_name,
        document_number: self.owner_document
      }
      pagarme_params[:agencia_dv] = self.agency_digit unless self.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
      }
    end

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
catarse_pagarme-2.10.2 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.10.1 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.10.0 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.13 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.12 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.11 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.10 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.9 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.8 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.7 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.6 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.5 app/models/catarse_pagarme/bank_account_concern.rb
catarse_pagarme-2.9.4 app/models/catarse_pagarme/bank_account_concern.rb