> El tema es que no podés traducir directamente conceptos de Java a
> Ruby. Son lenguajes diferentes. Por ejemplo lo que hablás en otro mail
> de las interfaces. Tiene sentido en Java que existan interfaces porque
> cada variable tiene que tener un tipo de datos determinado y se
> determina al compilar si la llamada es correcta o no. En Ruby no tiene
> sentido — si querés saber si ese objeto responde a un método
> determinado, se lo preguntás y chau.

recuerdo el día que descubrí que en vez de preguntar a que clase
pertenecía un objeto y mirar en una tabla para ver si tenía que llamar
un método podía hacer algo así:

documents.each do |document|
  puts document.name
  puts document.code
  puts document.customer if document.respond_to?(:customer)
end

si querés asegurarte de que una clase hija implemente tal o cual
método, tal vez lo podés hacer con un unit test que verifique que las
clases hijas de tu clase respondan a tal o cual método (usando
respond_to?). Podés usar alguno de los métodos ::descendants (medio
hackish): 
http://stackoverflow.com/questions/2393697/look-up-all-descendants-of-a-class-in-ruby

saludos, Maximiliano
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a