月別アーカイブ: 2019年8月

Rails: scopeの呼び出し元メソッド名を取得する

環境

Rails: 5.0.7.2
Ruby: 2.6.3

方法

Railsのバージョン依存があると思うので使用のさいは注意してください。

Kernel.#caller を使う
https://docs.ruby-lang.org/ja/latest/method/Kernel/m/caller.html

scope :contract_scope, -> do
  pp caller[4][/`([^']*)'/, 1]
end

参考: https://www.xmisao.com/2014/03/29/how-to-get-the-name-of-calling-method-in-ruby.html