銀座Rails#9
今晩 (2/19) くらいにリリースされる予定である RuboCop 0.65.0 のざっくり内容です。 github.com New features #6126: Add an experimental strict mode to Style/MutableConstant that will freeze all constants, rather than just literals. ([@rrosenblum][]) Style/MutableConstant cop に strict モードがオプションとして入りました。デフォルトで strict というのが当初の提案でしたが、厳しすぎるように思えたためオルタナティブという形で落ち着きました。 Bug fixes #6765: Fix false positives in keyword arguments for Styl
はじめに これはアドベントカレンダーとは全く関係ないいつもの技術エントリです rubocop_auto_corrector (0.1.0): Run `rubocop --auto-correct && git commit` with each cop. https://t.co/cjs54lrl8X— RubyGems (@rubygems) November 30, 2018 github.com はじめに モチベーション 使い方 実行結果のサンプル gem化するにあたって気をつけたこと ユニット(?)テストの整備 auto correctできないcopはスキップするようにした モチベーション 僕は普段rubocopでauto correctする時はコミットの可読性の観点から下記のように各cop単位でauto correctしてコミットするようにしています。 sue445.haten
RuboCop 0.59.2 がリリースされた。おそらく 0.59 系で最強のリリースになっている。 github.com 今回の変更履歴の内容を取り上げる。 Bug fixes #6266: Fix a false positive for Rails/HasManyOrHasOneDependent when using associations of Active Resource. (@tejasbubane, @koic) has_many といった association メソッドについて、Active Resource で偽陽性が出ていたものへの修正。当初、ApplicationRecord か ActiveRecord::Base を継承したものに絞った PR がマージされていたが、それだと Mix-in するモジュールに association メソッドがある場合に偽陰性
TL;DR- RuboCop良いよ - 入れるだけだと誰も使わないよ - 運用フローに入れると良いよ - 千里の道も一歩からだよ RuboCopとはRuboCopはコーディング規約に従っているかをチェックし、コードの品質を保ってくれるgemです。 RuboCopのイメージ例えば以下のようなrubyとしてはあまり良くないコードだった場合に、RuboCopはルールに沿って問題点の指摘や自動修正を行ってくれます。 これ以外にもRuboCopは多様なルールをサポートしており、その中にはバグりやすいコードを回避するようなルールもあります。 RuboCopを使う事でコーディング規約に沿っていないコードや、バグを含んだコードを自動である程度抑制でき、レビュー等でそれらの指摘する手間を大きく削減できます。 導入方法gem install rubocop するか、Gemfileに書いてインストールしてくださ
僕がrubocopに送ったPRが v0.47.0 に取り込まれました。 個人的に便利機能だと思うのでこの場を借りて軽く紹介したいと思います。 Rails/ReversibleMigrationについて 具体例 どうして作ったか? 検出精度について auto correctについて Cop開発Tips 前提知識 rubocop静的解析したいソースをruby-parseでS式を出す binding.pryなどでとめてnodeの中身を確認 S式にマッチさせるmatcherを書く Rails/ReversibleMigrationについて Railsのmigrationファイルで change メソッドの中に書いたmigrationコマンドがreversible *1かどうかをチェックするためのcopです github.com 具体例 https://github.com/bbatsov/rail
こんにちは、RuboCop大好き@pockeです! 先日(日本時間2016年6月26日)、RuboCop 0.41及びバグ修正リリースの0.41.1がリリースされました。 0.41 では13個のCopの新規追加の他、機能追加、バグ修正などが行われております。 また、0.41.1では新規追加されたCopがRailsプロジェクトにおいてクラッシュしてしまう問題が修正されています(該当のPR)。 そのため特にRailsプロジェクトでRuboCopを使用しているのであれば、バージョン0.41.1を使用することをおすすめします。 また今回のリリースでは、先ほど紹介したバグ修正を含むいくつかのコミットに私も関わっています。 ですので今回のリリースの概要を紹介させていただきたいと思います。 では、CHANGELOGを読んでいきましょう。 Release RuboCop 0.41 · bbatsov/ru
こんにちは。RuboCop大好きpockeです! SideCIでは対応ツールの追加など、主にサーバーサイドの開発を担当しています。 今回は、SideCIでも使用しているRubyの静的解析ツール、RuboCop のプラグインの作り方について書こうと思います。 実際にRuboCopプラグインを作りながら手順を解説します! はじめに 今回は、よくあるバグを検出するCopを作ってみましょう。 以下のコードにはバグがありますが、一見しただけだとその存在に気が付かないかも知れません。 def foo raise StandardError "error!" end 本来このコードには、StandardErrorと"error!"の間にカンマが必要です。 カンマが抜けていると「StandardErrorというメソッドを"error!"という引数で呼び出す」という意味になってしまい、想定しない挙動になって
こんにちは、むらはし こと sanemat です。 rubocopをコード増分だけに適用して通知したい。lintを増分だけ掛けたい。あると思います。 曰く「増分だけに対応してほしい」 曰く「テスト遅くなるのは嫌だ」 曰く「引っかかってもテストは落ちないで欲しい」 卜部「大量にwarningでるとやる気が尽きるのでは」 いやーテキ屋とサクラかな、とおもった。 rubocopを増分だけに適用してGitHubのpull requestに通知する、便利なツールがあります。 rubocopを増分だけに適用してGitHubのpull requestに通知する、便利なツール こんな感じに通知できます。 overcommitでもいいんだけど、bundlerなどで固定してるバージョンで、やりたいですね。 マネーフォワードではCIにJenkinsを使っているので、ここではJenkinsです。設定はCI as
rubocop のしつけ方 TL;DR rubocop --auto-gen-config して Offense count の多い順に毎日数個ずつ設定を確認したら 僕の使っている .rubocop.yml ができました これが onkcop か…(ゴクリ / “僕の使っている .rubocop.yml” https://t.co/KVryle9SJq — そのっつ (SEO Naotoshi) (@sonots) October 26, 2015 rubocop とは コーディング規約に準拠しているかをチェックする gem です。 https://github.com/bbatsov/rubocop こんなコードに対してかけると def badName if something test end end 以下のような警告をしてくれます。 Offenses: test.rb:1:5: C:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く