You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Alinson S. Xavier e563725dc5
unpack brazilian-rails
12 years ago
..
lib unpack brazilian-rails 12 years ago
rails unpack brazilian-rails 12 years ago
samples/dinheiro unpack brazilian-rails 12 years ago
test unpack brazilian-rails 12 years ago
CHANGELOG unpack brazilian-rails 12 years ago
MIT-LICENSE unpack brazilian-rails 12 years ago
README unpack brazilian-rails 12 years ago
Rakefile unpack brazilian-rails 12 years ago

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