Qiitaに同じ内容の記事が丁度あって悲しい気分になったが、コードを書いていたので記録として残しておく。
本ブログは、備忘録という面もありますので、読まれている方は気分を害さないでいただきたいです。
動的にSQLのテーブル、カラムの別名を定義したくなり、クラス名とメソッド名を利用していたが、
app/service配下に置かれている訳でもなく、app/service/hoge/...rb
という形でclassが置かれているので、直接classをそのまま取るわけにもいかないので、即興で書いていた。
サンプルコード
module Hoge
class BaseService
def initialize
end
def class_name
self.class.to_s.split('::').last.underscore
end
end
end
動作
$ Hoge::BaseService.new.class_name => "base_service"
以上になります。