Skip to content

Instantly share code, notes, and snippets.

View rodrigomanhaes's full-sized avatar

Rodrigo Manhães rodrigomanhaes

  • Campos dos Goytacazes, Rio de Janeiro, Brasil
View GitHub Profile
class Peca
def self.iniciar
@pecas = (0..6).collect {|lado1|
(lado1..6).collect {|lado2| Peca.new(lado1, lado2) }
}.flatten.shuffle
end
def self.proxima
@pecas.pop
end
class Foo
def initialize(&block)
@block = block
end
def call
@block.call
end
alias [] call
end
def should_behave_like_resource(opts = {})
before :each do
@opts = opts
end
def class_for(str)
str.capitalize.constantize
end
def clazz
# encoding: utf-8
module BrazilianDate
def use_in_brazilian_format(*fields)
unless methods.include?(:validate_dates)
validate :validate_dates
define_method :validate_dates do
(@date_errors ||= {}).each_pair do |field, message|
errors.add("#{field}_br".to_sym, message)
end
@rodrigomanhaes
rodrigomanhaes / call_dynamically.py
Created October 25, 2010 13:44
Dynamic Python x JavaScript
getattr(drew, "battle_cry")()
@rodrigomanhaes
rodrigomanhaes / gist:1293392
Created October 17, 2011 18:33
map, to_proc, Symbol, etc...
def total
soma = 0
itens_orcamento.each {|item| soma += item.total }
soma
end
def total
itens_orcamento.map {|item| item.total }.sum
end
@rodrigomanhaes
rodrigomanhaes / gist:1320484
Created October 27, 2011 18:59
Testes em Java "modo procedural"
/* Exemplos de testes (emulando o modo procedural) em Java */
/* Arquivo: FatorialTest.java */
package exercicio13;
import static exercicio13.Fatorial.fatorial;
import static org.junit.Assert.*;
import org.junit.Test;
@rodrigomanhaes
rodrigomanhaes / gist:1320521
Created October 27, 2011 19:10
Exemplo de teste "procedural" escrito em Ruby
# Arquivo fatorial_spec.rb
require './fatorial'
describe 'fatorial' do
it 'calcula fatorial' do
fatorial(0).should == 1
fatorial(1).should == 1
fatorial(2).should == 2
fatorial(3).should == 6
@rodrigomanhaes
rodrigomanhaes / gist:1377403
Created November 18, 2011 18:59
Lista 1 de orientação a objetos
Lista 1 de orientação a objetos
-------------------------------
Utilizando TDD, elabore, em Java e em Ruby, os programas a seguir, utilizando
orientação a objetos:
1) Crie uma classe que modele uma bola e permita trocar e consultar a cor da bola. A
cor da bola é obrigatória.
@rodrigomanhaes
rodrigomanhaes / Numero1.java
Created November 20, 2011 21:28
Um diálogo sobre orientação a objetos (códigos do post http://programacaoradical.blogspot.com/2010/11/blog-post.html)
public class Numero {
public long fatorial(long n) {
if (n == 0)
return 1;
return n * fatorial(n - 1);
}
}