Sha256: 7e76b08646b960827f6a7c2802d11ce1aa479daccfcbe9d9161429aa72c52b4f
Contents?: true
Size: 846 Bytes
Versions: 11
Compression:
Stored size: 846 Bytes
Contents
module CatarsePagarme class SlipTransaction < TransactionBase def initialize(attributes, payment) super build_default_bank_account end def charge! update_user_bank_account self.transaction = PagarMe::Transaction.new(self.attributes) self.transaction.charge change_payment_state self.transaction end def payment_method PaymentType::SLIP end protected def update_user_bank_account if self.attributes.include?(:user) self.user.update_attributes(self.attributes.delete(:user)) end 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
11 entries across 11 versions & 1 rubygems