rubyのメソッド中において クラス名
と メソッド名
を取得する方法。
class Sample
# @return [String]
def self.class_name
self.name
end
# @return [Symbol]
def self.class_method_name
__method__
end
# @return [String]
def class_name
self.class.name
end
# @return [Symbol]
def instance_method_name
__method__
end
end
> Sample.class_name
"Sample"
> Sample.class_method_name
:class_method_name
> sample = Sample.new
> sample.class_name
"Sample"
> sample.instance_method_name
:instance_method_name
Deprecateなメソッドが呼ばれた時など、ログを出力することに使うと良い感じ。
#{self.class.name}\##{__method__}"