Sha256: d9a4f0fee89300ed448ba0c2c7f6af81128ebbc97c3ad8010fcb5747b9443863

Contents?: true

Size: 479 Bytes

Versions: 2

Compression:

Stored size: 479 Bytes

Contents

module Transactionable
  module TransactionLoggable
    extend ActiveSupport::Concern

    included do
      has_many :transaction_logs, as: :transaction_loggable, class_name: 'Transactionable::TransactionLog'
      has_many :transactions, through: :transaction_logs, class_name: 'Transactionable::Transaction'

      def log_transaction(transaction)
        Transactionable::TransactionLog.create(transaction: transaction, transaction_loggable: self)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
transactionable-0.3.1 lib/transactionable/transaction_loggable.rb
transactionable-0.3.0 lib/transactionable/transaction_loggable.rb