Sha256: beafdf36f12a22b73aeab7c533cb3d3eaad80df4923ccbfb9f525548d2e06d6c

Contents?: true

Size: 802 Bytes

Versions: 63

Compression:

Stored size: 802 Bytes

Contents

module CatarsePagarme
  class SlipTransaction < TransactionBase
    def initialize(attributes, contribution)
      super
      build_default_bank_account
    end

    def charge!
      update_user_bank_account

      self.transaction = PagarMe::Transaction.new(self.attributes)
      self.transaction.charge

      change_contribution_state

      self.transaction
    end

    def payment_method
      PaymentType::SLIP
    end

    protected

    def update_user_bank_account
      self.user.update_attributes(self.attributes.delete(:user))

      if self.user.errors.present?
        raise ::PagarMe::PagarMeError.new(self.user.errors.full_messages.to_sentence)
      end
    end

    def build_default_bank_account
      self.user.build_bank_account unless self.user.bank_account
    end
  end
end

Version data entries

63 entries across 63 versions & 1 rubygems

Version Path
catarse_pagarme-2.5.1 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.5.0 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.10 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.9 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.8 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.7 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.6 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.5 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.4 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.3 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.2 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-1.5.3 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-1.5.2 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.1 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-1.5.1 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-1.5.0 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.4.0 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.3.10 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-1.4.9 app/models/catarse_pagarme/slip_transaction.rb
catarse_pagarme-2.3.9 app/models/catarse_pagarme/slip_transaction.rb