Subscribed unsubscribe Subscribe Subscribe

unused_view にrails console用のコマンド追加した - console_commandの説明 -

先日作った console_command というのを使ったらサクって出来て、作って良かったと思った。

CC.define_command('show-unused-views') do |c|
  c.description "Show unused views list"
  c.group "UnusedView"
  c.options do |opts|
    opt.banner unindent <<-USAGE
      Usage: show-unused-views

      Show unused views list
    USAGE
  end
  c.process do
    Rails.application.eager_load!
    puts UnusedView.find_all(Rails.root.join('app').join('views'))
  end
end

という感じでrails consoleにコマンド追加した。

console_commandの説明を少しすると、pryとirbどっちが立ち上がる人でも大丈夫、ただしirbの時はコマンド名にハイフンがあった場合アンダースコアに変換している。irbは内部でコマンドをメソッドにしてるから、ハイフン入りのメソッドを定義してしまうと、僕の知る限り、sendとかで呼び出さないといけなくなって面倒だからこのように変換するようにした。普通にirb用pry用みたいな感じでコマンド追加するより楽になると思う。

unused_viewにコマンド追加した際のdiff https://github.com/ToQoz/unused_view/commit/ada5e64f7059fa1e28701e1343a2410fe2f1d551