タグ rubocop
人気順 10 users 50 users 100 users 500 users 1000 usersGemfileの運用
長年の運用で「Gemfileはこう運用すると上手くいった」という知見が蓄積されてきたので、ここに書き出してみておく。 Bundler/OrderedGemsを有効化する RuboCopの Bundler/OrderedGems Copを有効化する。 悪い例: gem 'puma' gem 'jbuilder' 良い例: gem 'jbuilder' gem 'puma' セクションを分けない 基本的に、独自の判... 続きを読む
RuboCopのルールセットを大きく変えるときに気をつけること(Standard導入編) - inSmartBank
こんにちは osyoyu です。RuboCop は好きですか? B/43の開発の現場でもRuboCopは活用しており、ご多分に漏れず .rubocop.yml がすくすくと育てられていました。コードの一貫性はよく保たれていた…… のですが、 # rubocop:disable がそれなりの頻度で出現したことからも、適用されているルールが最良のものかは少しばか... 続きを読む
cache を最適化して RuboCop の CI 実行時間を劇的に改善した話 - JMDC TECH BLOG
こんにちは、プロダクト開発部の八杉です。JMDC では主に web フロントエンドの実装や設計を中心に行っているほか、最近は Rails の GraphQL モジュールの設計や CI の最適化にも取り組んでいます。 本記事は JMDC Advent Calendar 2023 11日目の記事です。 qiita.com この記事では、 RuboCop を CI で実行した際に遭遇... 続きを読む
キャッシュを利用してCircleCIのRuboCopを高速化する (35秒 -> 4秒)
はじめに ローカル環境などでRuboCopを実行する際にはよしなにキャッシュが利用され、高速化が図られています。 一方で、CircleCI上ではそうはいきません。RuboCopのキャッシュディレクトリを設定し、設定したディレクトリをCircleCIの依存関係のキャッシュ[1]を用いて次回以降のジョブに使い回す必要があります。 そこ... 続きを読む
reviewdog x Custom FormatterでRuboCopの自動修正を提案させるようにしました - inSmartBank
reviewdog/action-rubocopというOSSプロジェクトをご存知でしょうか。Rubyの静的解析ツールであるRuboCopをGitHub Actionsで実行し、指摘箇所にコメントを付けてくれる便利なCustom Actionです。 本記事では筆者がこのOSSを改良して実装したSuggestion featureという便利機能とその実装についてご紹介します。RuboCopを... 続きを読む
RuboCop RSpecからRuboCop CapybaraとRuboCop factory_botが切り出されたけど結局どうすればいいの? - ANDPAD Tech Blog
こんにちは、 ydah です。最近はというと、料理への情熱が再燃してきました。一時期は作った料理を全て写真に残していたりとしていたのですが、いつの間にか記録を何も残さなくなっていました。何かしら記録を残すことで、前回よりも味も見た目も良くしようと思えるので、記録を残していくようにしたいと思います。やっ... 続きを読む
Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621の概要と発見の経緯
この記事はRuby Advent Calendar 2022の第20日の記事です。前日の記事は@ydahさんによる「RuboCopのバージョンを最新に保つ技術」でした。 2022年11月22日に、Ruby cgi gemのHTTPヘッダインジェクション脆弱性CVE-2021-33621が発表がされました。 CVE-2021-33621: HTTP response splitting in CGIRubyのCGIライブラリにH... 続きを読む
カスタムCopでリファクタリング
RuboCopのカスタムCopを書いてリファクタリングを行う話として、丁度良い事例があったので紹介します。 改善したいコード 仕事先のRailsアプリを眺めてみると、昔から慣習的に次のようなコードが書かれていることが分かりました。 module A extend ::ActiveSupport::Concern included do def foo end def bar end end en... 続きを読む
RuboCop 1.0 がリリースされた - koicの日記
RuboCop 1.0 がリリースされた。 github.com 自分が最初にリリースを行った 0.93.1 が RuboCop 1.0 より前の最後のリリースになったというのも感慨深いものがあるけれど、さておきついに 1.0 になった。 よい節目なので RuboCop 1.0 と周辺に関するエントリを書いておこうと思う。 0.93.1 までアップグレードしている人... 続きを読む
`Layout/LineLength` のデフォルトを 120 にした - koicの日記
RuboCop の LineLength のデフォルトが 80 ではつらいという声はずっと聞いていて、そもそも RuboCop にパッチを送り始めた頃は、いつかこの変更をするのが目標のひとつだった。 今回 3年半越しに実現することができた。現在の最新版の RuboCop 0.84.0 に適用済み。 github.com OSS で年月をかけた粘り強い振る舞いは ka... 続きを読む
RuboCopの実装に見る、Rubyの“破壊的変更”との正しい付き合いかた - ログミーTech
Rubyはバージョンアップによって、やむなく旧バージョンとの互換性がなくなってしまうことがあります。それが破壊的変更です。後編では、静的コードアナライザーモジュールであるRuboCopのコミッターの@koic氏が、破壊的変更にタイルする実際の実装について紹介します。 Pull Requestは興味をもってもらうように書こう k... 続きを読む
Rubyの“破壊的変更”を恐れるな! 毎日OSSに関わるRuboCopコミッターが教える傾向と対策 - ログミーTech
Rubyはバージョンアップによって、やむなく旧バージョンとの互換性がなくなってしまうことがあります。それが破壊的変更です。静的コードアナライザーモジュールであるRuboCopのコミッターのkoic氏が、どんなときに破壊的変更が起きるのか、起きてしまったときは、どのように対応すればよいのか、その背景と対策を語りま... 続きを読む
スレッドセーフでない Dir.chdir の使用を RuboCop で禁止する / マスタカの ChangeLog メモ
é�±å��Railsã�¦ã�©ã��ã��ï¼�20200225å��ç·¨ï¼�Rubyã�®Shellwordsã�©ã�¤ã��ã�©ã�ªã�¯ç�¥ã�£ã�¦ã��ã��ã�¹ã��ã��VCRã�¯ã��ã�¯ã��æ��è�½ã��copã��è�ªä½�ã��Hix on Railsè¨�äº�ã�»ã��ï½�TechRachoï¼�ã��ã��ã�¯ã�©ã��ã��ã�§ï¼�ã��ã�¨ã�³ã�¸ã��ã�¢ã�®ã��ï¼�ã��ã��ã��ï¼�ã��ã�«ã��ï½�BPSæ ªå¼�ä¼�社 RuboCopã�§ã�³ã�¼ã��ã�¬ã��ã... 続きを読む
RuboCopで型情報を利用した解析を試している - pockestrap
3行 RuboCopで「この変数はString」とかの情報を含めて解析させられないか試している まだPoCだけど、なんとなくは動いている https://github.com/pocke/rubocop-typed を見て 何をしているの rubocop-typed というプロジェクトで、RuboCopで今までできていなかった解析ができないか試しています。 github.com RuboCopの... 続きを読む
週刊Railsウォッチ(20190806-2/2後編)RSpec CopのLeakyConstantDeclaration、serveoでゼロコンフィグ公開、RuboCopのPerformance/RegexpMatch改修ほか
こんにちは、hachi8833です。来週の週刊Railsウォッチはお盆休みのためお休みをいただきます。先祖の供養を忘れずに。 各記事冒頭にはでパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です ... 続きを読む
RuboCop 本体から Rails Cops が外される - koicの日記
次の RuboCop マイナーバージョンアップとなる 0.72 から Rails Cops が外されます。今後 Rails Cops を使う場合は Gemify された rubocop-rails gem を使うことになるため、昨日リリースされた RuboCop 0.71 から警告が出るようにしています。 github.com また rubocop -R/--rails オプションも同じタイミングで削除し... 続きを読む
RuboCop 本体から Performance Cops が外される - koicの日記
次の RuboCop バージョンとして予定されている 0.68 から Performance Cops が外されます。今後 Performance Cops を使う場合は Gemify された rubocop-performance gem を使うことになるため、RuboCop 0.67 から警告が出るようにしています。 github.com これから 0.68 までの間を移行期間としているため RuboCop の Pe... 続きを読む
CircleCIにreviewdogを飼うことにした。 - patorashのブログ
Rubocopを一応入れているのに、滅多に動かしてなくてあんまり意味を成していなかった。issueにずっとあったCIにRubocopを取り入れるというやつに着手しようと思ってようやく取り組み始めた。 reviewdogを知る CircleCIのワークフローにRubocopのチェックを入れて、自動的にコメントをしてもらいたいなぁと思って調べてい... 続きを読む
Rails プロジェクトでファイル保存時に自動的に rubocop --autocorrect してもらおう - Qiita
この記事は、グロービス Advent Calendar 2018 の9日目の記事です。 こんにちは。3月から Globis の末席を汚しております motchang と申します。SAML とか OAuth2 とか OpenID Connect とかのサンプル実装の記事を書いていたのですが、ネタが被っていることに気が付いてしまったので軽い Tips 的な内容で失礼します。 は... 続きを読む
RubyConf 2018 (Los Angeles, CA) に行きました - esm アジャイル事業部 開発者ブログ
RuboCop や Active Record Oracle enhanced adapter などのコミッターをやっているコミュニティマネージャの @koic です。 2018年11月13日(火) から 2018年11月15日(木) の間、カルフォルニア州のロサンゼルスで開催された RubyConf 2018 に行きました。 rubyconf.org 渡航までの準備については、個人の日記の方に書いて... 続きを読む
danger-suggesterの話 | r7kamura on Patreon
https://github.com/r7kamura/danger-suggester をつくったときの話です。 Danger Danger というツールがあって、こいつは CircleCI や TravisCI などの CI で RuboCop や ESLint やその他プロジェクト独自の設定と共に動かすと、GitHub の Pull Request に自動でコメントを付けてくれたりして、要はコードレビューに役... 続きを読む
rubocop-itamaeを作った - くりにっき
itamae のレシピを静的解析するrubocopのプラグインを作りました。 rubocop-itamae (0.1.0): Code style checking for itamae recipes https://t.co/CrfDEV2Cki— RubyGems (@rubygems) 2018年7月16日 github.com コンセプト Itamae/CdInExecute Itamae/CommandEqualsToName Itamae/NeedlessDefaultAction Itamae/RecipeP... 続きを読む
RuboCopチームにgemの名前を譲った話 - Hack Your Design!
かねてより僕が開発していたubocop-railsというgemをRuboCop公式チームの要望により譲った。 僕がこのgemを作った経緯とかは下記の記事の通り。 つくったやつ | Railsと同じRuboCopの設定が利用できるrubocop-rails gemを作った - Hack Your Design! https://t.co/szG0eLPetS — toshimaru (@toshimaru_e) January 29, 20... 続きを読む
コードレビューの機械的な指摘はSideCIに任せる - LCL Engineers' Blog
2017 - 11 - 24 コードレビューの機械的な指摘はSideCIに任せる コードレビューを自動化してくれるSideCIを導入しました。GitHubのプルリクエストを自動で解析して指摘してくれます。 主にRubyを使用しているのでRuboCopを筆頭に解析ツールが豊富に揃っているのは助かっています。 導入の経緯 もともとRuboCop, JSHint, ESLintは使用しており主にローカル... 続きを読む
RuboCopを無理なく既存プロジェクトに導入する – FiNC Engineering Blog – Medium
TL;DR - RuboCop良いよ - 入れるだけだと誰も使わないよ - 運用フローに入れると良いよ - 千里の道も一歩からだよ RuboCopとは RuboCop はコーディング規約に従っているかをチェックし、コードの品質を保ってくれるgemです。 これ以外にもRuboCopは多様なルールをサポートしており、その中にはバグりやすいコードを回避するようなルールもあります。 RuboCopを使う事... 続きを読む