public
Description: Brazilian Rails é um conjunto de gems para serem usadas com Ruby e com o Ruby on Rails e tem como objetivo unir alguns recursos úteis para os desenvolvedores brasileiros.
Homepage: http://brazilian-rails.rubyforge.org
Clone URL: git://github.com/tapajos/brazilian-rails.git
Click here to lend your support to: brazilian-rails and make a donation at www.pledgie.com !
tapajos (author)
Tue Sep 22 21:12:20 -0700 2009
commit  9ebb35dc8f40d146ddb0403bb2c6f40beb5b9ca7
tree    99622b2712da7f261b6f380f92d9489a3b45793f
parent  274e4d0728d139849cdd9103221d35362e92bc2a
brazilian-rails / brdinheiro
brdinheiro/README
 == 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