README

Path: brdinheiro/README
Last Update: Sun Aug 31 20:17:34 -0300 2008

Como usar o Dinheiro em seu ActiveRecord?

  • Arquivo 001_create_lancamentos.rb:
      class CreateLancamentos < ActiveRecord::Migration
        def self.up
          create_table :lancamentos do |t|
            t.column :descricao,   :string,    :null => false
            t.column :valor,       :decimal,   :precision => 14, :scale => 2
            t.column :mensalidade, :decimal,   :precision => 14, :scale => 2
          end
        end
    
        def self.down
          drop_table :lancamentos
        end
      end
    
  • Arquivo lancamento.rb:
      class Lancamento < ActiveRecord::Base
        usar_como_dinheiro :valor, :mensalidade
      end
    
  • No console (script/console):
      Loading development environment.
      >> lancamento = Lancamento.new
      => #<Lancamento:0x9652cd8 @attributes={"descricao"=>nil,
                                             "valor"=>#<BigDecimal:9657008,'0.0',4(4)>,
                                             "mensalidade"=>#<BigDecimal:9656e8c,'0.0',4(4)>},
                                @new_record=true>
      >> lancamento.valor = 100
      => 100
      >> lancamento.valor
      => #<Dinheiro:0x9650f3c @quantia=10000>
      >> lancamento.valor.real
      => "R$ 100,00"
      >> lancamento.valor = 100.50
      => 100.5
      >> lancamento.valor.real
      => "R$ 100,50"
      >> lancamento.valor = "250.50"
      => "250.50"
      >> lancamento.valor.real
      => "R$ 250,50"
      >> lancamento.valor = 354.58.reais
      => #<Dinheiro:0x9646384 @quantia=35458>
      >> lancamento.valor.real
      => "R$ 354,58"
      >> exit
    

[Validate]