メソッドの定義場所を見つける

> obj.method(:method_name).source_location

参考:

Ruby でメソッドの定義場所を見つける方法 – Qiita

How to find the method definition in Ruby | Rails Guides

How can I get source code of a method dynamically and also which file is this method locate in – Stack Overflow

クラスや定数の定義場所を見つける

TL;DR

クラスや定数に何か値を再代入すると警告が出て、元の定義場所を教えてくれる。

> Rails = Rails
warning: already initialized constant Rails
/path/to/vendor/bundle/ruby/2.6.0/gems/railties-6.0.0.rc1/lib/rails/initializable.rb:5: warning: previous definition of Rails was here

参考:

Ruby で class や const の定義位置を調べる方法 – Qiita

Ruby でクラスのソースを表示するコード – Qiita

Feature #10771: An easy way to get the source location of a constant | Ruby Issue Tracking System

Source location of a class – Stack Overflow

Pry

ソースのコメントを表示する。

> ? obj.method_name

メソッドの定義 (ソース) を表示する。

> $ obj.method_name

参考:

Ruby でメソッドの定義場所を見つける方法 – Qiita

method_source

参考:

banister/method_source: return the sourcecode for a method – GitHub

スクリプト

参考:

A little Ruby module for finding the source location where class and methods are defined – GitHub Gist

Tagged:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です