(自分用メモ)最終課題2 ECサイト 環境構築 Rubocop作動させる
<この質問の結論>
rubocopの除外指定ファイルに自分がいじらないものを追加
その後。rubocop -a実行で、各個エラー対応。
<参考>
<以下本文>
■現状
表題の件、最終課題2にてRubocopの導入を実施しています。
課題提出の「CIが3本通っていることを確認してください」の状態にしたく。
現状、ローカルのDocker上でも、CircleCIサイト上でも通っていない状態で、その理由がわからない状態です。
■既に試したこと、参考にしたページ
→上記過去質問確認しましたが、自分の場合は、「特定のファイルが読み込めない」のようなメッセージが出てきていません。
→当方gは、こちらのケースに当てはまるのでしょうか?
■やりたいこと
エラーを解決し、HerokuデプロイでRspec、Rubocop、CI全て自動で実施されるようにしたい
課題提出の「CIが3本通っていることを確認してください」の状態にしたい
■git
回答
ユーザー画像
Hiro(メンター)
2022/12/11 10:32
まずはローカルで通るようにしましょう。でなければ、CI上でも通らないので。
ローカルでRubocopの実行で返されているのは2つあり、
1つ目は、黄色の文字で表示されている警告、2つ目はOffensesの文言から始まるRubocopの規約に違反しているコード
だと思います。
警告は直さなくても良いですが、まずは、規約違反のコードをどうするか考えて見ましょう。
もし、解決方法がわからなければもう一度質問していただいても良いでしょうか?
ユーザー画像
長井宏樹
2022/12/11 12:55
Hiro様
ご回答ありがとうございます。
自身で調べてみました.
当方が考える限りですと、
規約を緩くするということが解決方法になりますでしょうか。
具体的には、
.rubocop.yml に記載されているルールを緩くする or rubocopを無視して良いファイルを増やす。
こちら方向性として合っていますでしょうか
ユーザー画像
長井宏樹
2022/12/11 13:17
Hiro様
連投失礼します。
こちらのページを参考にしました。
自身の考え方としては、
「rubocop- a」コマンドにて、修正可能なものを修正後、残り10個程度の検出エラーを一つづつ潰していく。という形になりますでしょうか。
ユーザー画像
Hiro(メンター)
2022/12/11 13:24
当方が考える限りですと、
規約を緩くするということが解決方法になりますでしょうか。
具体的には、
.rubocop.yml に記載されているルールを緩くする or rubocopを無視して良いファイルを増やす。
こちら方向性として合っていますでしょうか
そうですね。あっています。
スクリーンショットを拝見しましたが、規約違反しているファイルに、gemfile や、 bin/ 配下のファイルが含まれています。
これらは、長井さんが編集したものではなく、自動生成されたものです。
こういったものは基本的に、rubocop.ymlに記載して、rubocopの対象から外してしまって下さい。
ググれば、rubocop除外設定の良い例が見つかると思います。
「rubocop- a」コマンドにて、修正可能なものを修正後、残り10個程度の検出エラーを一つづつ潰していく。という形になりますでしょうか。
rubocopの対象から外した後、その作業で問題ありません。
ユーザー画像
長井宏樹
2022/12/11 14:25
Hiro様
ご回答ありがとうございます。
rubocop除外設定を調べたのち更新しました。
しかしながら、除外設定しているものもRubocopの作動が続いており、意図した通りに作動していませんでした。
以下を参考に
意図した通りに作動しない原因を探りましたが、明確なものはみつれませんでした。
git
ユーザー画像
清水
2022/12/11 20:10
AllCops:
のインデントずれていないでしょうか?(画像だとずれていそうです)
左に詰めて再実行してみてください。
ユーザー画像
長井宏樹
2022/12/11 20:50
清水様
ご回答ありがとうございます
CI全て通りました!
インデントについてinherit_from:は過去質問にもありましたのでチェックしていましたが、他全ての行でずれておりました。
ご指摘いただいたすべてのメンターの方々ありがとうございました
Discussion