##環境
Ruby 2.6.2
##本題
Rubyではメソッドはクラスまたはモジュール内に定義されています。
呼び出したメソッドがどのクラスで定義されているか知りたいとき、はowner
メソッドを使って調べることができます。
owner
メソッドはRubyのMethod
クラスに定義されているインスタンスメソッドです。
メソッドを定義しているクラスかモジュールを返します。
実践
12.method(:to_i).owner #=> Integer
[1,2,3].method(:join).owner #=> Array
1.23456.method(:round).owner #=> Float
自作のクラス場合以下のようになります。
class Hoge
def hoge
end
end
h = Hoge.new
h.method(:hoge).owner
#=> Hoge