Añadir métodos a una clase o estancia creada
Actualización: Este post es de cuando empecé con ruby.
Pues más sencillo de lo que parece. Como es normal en ruby, la lógica aplastante por encima de todo y un simple "<<" bastará.
Por ejemplo.
En vez de hacer
def di_hola puts "hola chaval!" end
podemos hacer:
class << self def di_hola puts "hola chaval!" end end
O su manera enfuscada:
class << self; def hey; puts "hola chaval!"; end
Como llamar a metodos de un modulo
Estaba yo intentando llamar a un método de un helper. Probando encontré un método que sirve para extender clases con módulos.
Sé que esto es básico, pero por desgracia no me he leído todavía ningún libro sobre ruby. He de suponer que lo que estoy haciendo es un mixin de clases con los módulos.
La palabra clave es extend
Por ejemplo, si estoy en un ./script/console de rails, solo tengo que hacer un:
self.extend CommentsHelper
Para completar, es saber que módulos están cargados en la clase actual, vamos, que mixins se presentan.
self.extended_by
Espero que nadie pierda el tiempo que perdí yo intentando hacer esto.
30, dic | 3 comentarios cientifico compártelo Tags: extended by, rails, puts, extend, script, self, ruby

3 comentarios
Yo aún no termino de pillar la diferencia entre hacer extend de un módulo o incluirlo.
Creo que es muy sutil, pero aún no se ha dado el caso que me haga falta usar extend.
He creado otro post, ya que este lo rescaté de un antiguo blog, y por aquel entonces no tenía mucha idea.
http://cientifico.net/post/2008/12/30/diferencia-entre-extend-e-i...
Un Saludo
ActionScript es un lenguaje de programación orientado a objetos (OOP), utilizado en especial en aplicaciones web animadas realizadas en el entorno Adobe Flash, la tecnología de Adobe para añadir dinamismo al panorama web. Fue lanzado con la versión 4 de Flash, y desde entonces hasta ahora, ha ido ampliándose poco a poco, hasta llegar a niveles de dinamismo y versatilidad muy altos en la versión 10 (Adobe Flash CS4) de Flash.
ActionScript es un lenguaje de script, esto es, no requiere la creación de un programa completo para que la aplicación alcance los objetivos. El lenguaje está basado en especificaciones de estándar de industria ECMA-262, un estándar para Javascript, de ahí que ActionScript se parezca tanto a Javascript.
La versión más extendida actualmente es ActionScript 3.0, que significo una mejora en el manejo de programación orientada a objetos al ajustarse mejor al estándar ECMA-262 y es utilizada en la última versión de Adobe Flash y Flex (recientemente comprada a Macromedia) y en anteriores versiones de Flex. Desde la versión 2 de Flex viene incluido ActionScript 3, el cual mejora su rendimiento en comparación de sus antecesores, además de incluir nuevas características como el uso de expresiones regulares y nuevas formas de empaquetar las clases.
Escribe un comentario