Sha256: f971bf22aca5698c822db4096be545f9253286d5ede1119ec2baebaaa834d6bc

Contents?: true

Size: 883 Bytes

Versions: 3

Compression:

Stored size: 883 Bytes

Contents

class Transaction < ActiveRecord::Base
  
  belongs_to :subscription
  serialize :params
  belongs_to :billing_activity
  after_create :generate_billing_activity
  
  
  def response=(response)
    self.success       = response.success?
    self.authorization = response.authorization
    self.message       = response.message
    self.params        = response.params
  rescue ActiveMerchant::ActiveMerchantError => e
    self.success       = false
    self.authorization = nil
    self.message       = e.message
    self.params        = {}
  end
  
  scope :successful, lambda {
    where("success = ?", true)
    }
  scope :recent, order("created_at DESC")
    
  private
    def generate_billing_activity
      if success
        self.create_billing_activity(:message => BillingActivity::MESSAGES[:success], :subscription => subscription, :amount => amount)
      end
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
saasaparilla-0.1.8 app/models/transaction.rb
saasaparilla-0.1.7 app/models/transaction.rb
saasaparilla-0.1.6 app/models/transaction.rb