需要找到class方法的source_location

时间:2013-04-11 21:05:59

标签: ruby-on-rails

我有一个带有类方法的模型。

像:

class School < ActiveRecord::Base
   def self.mymethod
   end
   def instance_something
   end
end

如何在Ruby中找到类方法的source_location?

如果我想要“instance_something”的源位置我

School.new.method(:instance_something).source_location

但我不能用类方法做到这一点。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我刚刚在irb中这样做了,它确实有效。

class Foo
  def foo
  end
  def self.bar
  end
end

f = Foo.new
m1 = f.method(:foo)
m1.source_location
 => ["(irb)", 2] 

Foo.method(:bar)
m2 = Foo.method(:bar)
m2.source_location
 => ["(irb)", 4]