2011-06-21 18 views
5

Encontré el siguiente código, que supongo va en config/initializers/kernel.rb.¿Cómo obtener el método actual en Rails 3?

module Kernel 
    private 
    def this_method 
    caller[0] =~ /`([^']*)'/ and $1 
    end 
end

Para agregar al registro, ¿es esta la forma preferida de obtener el método actual?

Gracias.

+0

Si usa Ruby 1.9.x puede usar el método #__ como 'def foo; __método__; fin; # => foo' – basicxman

+0

Cuando llame a foo en ese caso, simplemente regresará: foo –

Respuesta

7

Parece una forma decente de obtener el método de llamada y darle la posibilidad de llamar al this_method en su código para agregarlo al registro.

Si está utilizando Ruby 1.9.2 puede llamar al __method__ y no preocuparse por definir un método especial para hacerlo.