Sha256: d915673ecd1233f6bc67e60707d05a029d893caa45cd980c58ca3d4e4b6ec817

Contents?: true

Size: 620 Bytes

Versions: 2

Compression:

Stored size: 620 Bytes

Contents

module Bankscrap
  class Transaction
    include Utils::Inspectable

    attr_accessor :id, :amount, :description, :effective_date, :balance, :account

    def initialize(params = {})
      raise NotMoneyObjectError.new(:amount) unless params[:amount].is_a?(Money)

      params.each { |key, value| send "#{key}=", value }
    end

    def to_s
      description
    end

    def to_a
      [effective_date.strftime('%d/%m/%Y'), description, amount]
    end

    def currency
      amount.currency
    end

    private

    def inspect_attributes
      %i(id amount effective_date description balance)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
bankscrap-2.0.3 lib/bankscrap/transaction.rb
bankscrap-2.0.2 lib/bankscrap/transaction.rb