2011-12-18 13 views

Respuesta

17

Si usted quiere saber el archivo y la línea donde se define el método, utilice

Post.method(:all).source_location 

Se le dará [file, line] o nil si se trata de un método C.

7

Se puede usar un método a través de un objeto Método. Que en ese punto como un atributo owner. Entonces puede hacer algo como esto:

puts Post.method(:all).owner 

Esto le dirá el módulo/clase que define el método.

+0

eso no funciona para mí - Acabo de recuperar la clase, incluso si el método se definió en un módulo incluido – klochner

+0

@klochner ¿en qué clase? – Reactormonk

+0

sería Post en su ejemplo, aunque: todo se definió en algún otro módulo – klochner

Cuestiones relacionadas