Enter!バッチを起動しようと勢いよくキーを叩いたら、それはシフトキーだった。itmammothTweetrubocopはrubyの静的コード解析を実行してくれる便利なgem。ソースコード内の残念なメソッド名を発見してくれたり、1メソッドの行数を制限できたりする。解析内容は多岐にわたるので、ぜひ公式ドキュメントを参照あれ。pre-commitとは、gitコミットをフックして何らかのアクションを実行してくれるgem。末尾の空白を検知したり、Javascriptのconsole.logや、pryのbinding.pryがソース内に残っていないかなどチェックできる。commitできないようにすることができる。railsという環境を想定すると、Gemfileは以下のようになる。installした後に、pre-commitをインストールする必要がある。installgit-hookは新しいshプロセスで動くので、pre-commitはbundler経由で実行させるよう、gitの設定を施してやる必要があります。ruby"これにて導入は完了。listコマンドで各checkの利用状況が確認できる。checksが利用できるチェックの一覧。Enabledが現在利用しているチェックである。上記ではcommonとrailsというチェックがなされている。checksに記述されている。要するに、これらが実際に実行されるチェック。このあたりは公式サイトとかこのあたりを参考にしてほしい。デフォルトではrubocopを利用するようにはなっていないので、設定を変更しよう。rubocopyamlと指定しているのは、設定をyamlファイルに書き出すということ。railsディレクトリ内で実行すると、config/pre_commit.ymlというファイルが出来上がっているはずだ。:rubocop今後はこのファイルを直接編集してもよい。するとgitのグルーバル設定にすることができる。プロジェクトで配布する場合はyamlにしておいた方がよい。rubocopチェックに引っ掛かってもエラーではなく警告にとどめておきたい場合は、checksではなくwarningsを指定する。rubocoprubocopでチェックできる内容は多岐に渡り、中には「こんなんもんいらねー」的なチェックもある。何をどうチェックするかの設定をyamlファイルに記述しておくことができる。ルートディレクトリに.rubocop.ymlというファイルを作成すればよい。以下は私が使用している設定。falseどんなチェックがあって何を意味しているのかはenabled.ymlのソースを見ればよい。ruby-style-guideへのリンクも記述されているので辞書として利用できる。手動でrubocopを実行するにはコマンドを叩けばよい。-Dオプションを付けると、引っ掛かったチェック名を表示してくれるのでお勧め。commitする度にチェックが走り、エラーがあったらコミットさせてくれないという理想的自虐的環境ができあがった。既存のプロジェクトに適用させる場合おそらくデフォルトのルールでrubocopを実行するとエラーまみれになると思う。rubocopでは、必要なチェックなのか吟味しながら少しずつエラーを無くしていくというアプローチが取れるようになっている。追記:現在では公式githubに載っているように、次のコマンドを実行すれば動くようになっています。commit時にエラーになった)。思いっきり書き換えてしまうことにする。返信をキャンセルメールアドレスが公開されることはありません。名前*メール*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。検索:プロフィールitmammothIT界のマンモスを目指しているフリーエンジニアです。麻婆豆腐/Ruby/Kotlin/麻婆春雨/Python好きです。最近カリフラワーも好きになりました。