質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

受付中

RailsでのLintチェック解消方法

higmonta
higmonta

総合スコア29

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

2回答

0リアクション

0クリップ

115閲覧

投稿2022/09/27 15:53

前提

開発環境は、以下のようになります。
Rubu:3.1.2
Rails:6.0.4.1
rubocopでのLintチェックのエラーが解消できない件

実現したいこと

下記のコードのLintチェックが通りません。

if (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && ((count - let_foodstuff_capacity) % let_foodstuff_capacity).zero? ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) elsif (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && (count - let_foodstuff_capacity) % let_foodstuff_capacity != 0 ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ((count % let_foodstuff_capacity) / cookware_capacity).ceil * cooking_time

rubocopを実行すると以下のようになります。

..........C.................... Offenses: app/forms/calculate_cooking_time.rb:41:13: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:47:13: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 31 files inspected, 2 offenses detected, 2 offenses auto-correctable

試したこと

以下を試しました。

if (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && ((count - let_foodstuff_capacity) % let_foodstuff_capacity).zero? ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) elsif (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && (count - let_foodstuff_capacity) % let_foodstuff_capacity != 0 ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ((count % let_foodstuff_capacity) / cookware_capacity).ceil * cooking_time
..........C.................... Offenses: app/forms/calculate_cooking_time.rb:39:11: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 0) spaces for indenting an expression spanning multiple lines. cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:41:11: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:45:11: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 0) spaces for indenting an expression spanning multiple lines. cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:47:11: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:48:11: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 0) spaces for indenting an expression spanning multiple lines. (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:49:11: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 0) spaces for indenting an expression spanning multiple lines. ((count % let_foodstuff_capacity) / cookware_capacity).ceil * cooking_time ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 31 files inspected, 6 offenses detected, 6 offenses auto-correctable

if (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && ((count - let_foodstuff_capacity) % let_foodstuff_capacity).zero? ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) elsif (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time < rest_fish_time && (count - let_foodstuff_capacity) % let_foodstuff_capacity != 0 ((let_foodstuff_capacity - cookware_capacity) / cookware_capacity).ceil * cooking_time + cooking_total_time + (rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time) * ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ((count % let_foodstuff_capacity) / cookware_capacity).ceil * cooking_time
..........C.................... Offenses: app/forms/calculate_cooking_time.rb:41:11: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:47:11: C: [Correctable] Layout/MultilineOperationIndentation: Align the operands of an expression spanning multiple lines. ((count - let_foodstuff_capacity) / let_foodstuff_capacity) + rest_fish_time - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:48:12: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 1) spaces for indenting an expression spanning multiple lines. (let_foodstuff_capacity / cookware_capacity).ceil * cooking_time + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ app/forms/calculate_cooking_time.rb:49:12: C: [Correctable] Layout/MultilineOperationIndentation: Use 2 (not 1) spaces for indenting an expression spanning multiple lines. ((count % let_foodstuff_capacity) / cookware_capacity).ceil * cooking_time ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 31 files inspected, 4 offenses detected, 4 offenses auto-correctable

参考記事

https://youtrack.jetbrains.com/issue/RUBY-25600/Code-style-compatibility-with-Rubocops-LayoutMultilineOperationIndentation

https://techracho.bpsinc.jp/hachi8833/2016_12_16/31386

ご教示お願いします。

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。