- 更新日: 2014年3月22日
- Rails
Railsプロジェクトのコード行数(LOC)を調べるコマンドを作成
スポンサーリンク
Rails の rake stats コマンドは進捗を調べるため、コード行数(LOC: lines of code)を確認するために時折使うのですけど、ビューや Rake タスクの分が含まれないのがちょっと不便です。なので、それらも含めてコード行数を確認する、専用の railsloc というコマンドを作成しました。Railsやってると、結構行数を書くことになるビューと rake タスクについても同時に確認したいので。
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
基本的に以下の記事の応用です。
Rails でコード行数を調べるあれこれ | EasyRamble
railsloc コマンドの使い方
Rails プロジェクトのルートディレクトリに移動後、railsloc と入力。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
$ railsloc +----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 337 | 267 | 9 | 29 | 3 | 7 | | Helpers | 51 | 36 | 0 | 3 | 0 | 10 | | Models | 115 | 88 | 2 | 7 | 3 | 10 | | Mailers | 0 | 0 | 0 | 0 | 0 | 0 | | Javascripts | 62 | 30 | 0 | 11 | 0 | 0 | | Libraries | 398 | 286 | 3 | 15 | 5 | 17 | | Helper specs | 32 | 25 | 0 | 0 | 0 | 0 | | Lib specs | 273 | 233 | 0 | 0 | 0 | 0 | | Model specs | 511 | 373 | 0 | 0 | 0 | 0 | | Request specs | 1180 | 897 | 0 | 0 | 0 | 0 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 2959 | 2235 | 14 | 65 | 4 | 32 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 707 Test LOC: 1528 Code to Test Ratio: 1:2.2 --- rails view LOC --- 895 total --- rails rake task LOC --- 513 total |
こんな感じに表示されます。
railsloc コマンドの中身
railsloc コマンドはシェルスクリプトで作成しました。
~/mycommands/rails_loc.sh
1 2 3 4 5 6 7 8 9 |
#!/usr/local/bin/zsh bundle exec rake stats echo "--- rails view LOC ---" find ./app/views -name "*.erb" | xargs wc -l | grep total echo "--- rails rake task LOC ---" find ./lib/tasks -name "*.rake" | xargs wc -l | grep total |
以上を作成後、パーミッションの設定とシンボリックリンクを張ってパスを通す。
1 2 3 4 |
$ chmod 755 mycommands/rails_loc.sh $ ln -s ~/mycommands/rails_loc.sh /usr/local/bin/railsloc |
これで、Rails.root で railsloc と打てば、通常の rake stats に加え、ビューとrakeタスクの分のコード行数も一緒に確認できます。他にもコード行数を確認したいディレクトリがあれば、rails_loc.sh に find コマンドの行のように追加すると良いです。
スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
- Rails の関連記事
- RailsでMySQLパーティショニングのマイグレーション
- Rails ActiveRecordでdatetime型カラムのGROUP BY集計にタイムゾーンを考慮する
- RailsプラグインGemの作成方法、RSpecテストまで含めたrails pluginの作り方
- RailsでAMPに対応するgemをリリースしました
- Railsでrequest.urlとrequest.original_urlの違い
- Railsでwheneverによるcronバッチ処理
- Google AnalyticsのRails Turbolinks対応
- Railsアプリにソーシャル・シェアボタンを簡単設置
- Rails監視ツール用にErrbitをHerokuで運用
- Facebook APIバージョンのアップグレード手順(Rails OmniAuth)
Leave Your Message!