# Rspec用のrubocopの読み込み require: rubocop-rspec AllCops: # Rubyのバージョン指定 TargetRubyVersion: 3.1.0 # 新しい cop を許可 NewCops: enable # https://koic.hatenablog.com/entry/rubocop-1-5-has-been-released SuggestExtensions: false # クラス名Moduleの説明をなしでもOKとする Style/Documentation: Enabled: false # 日本語でのコメントを許可 Style/AsciiComments: Enabled: false # メソッドの引数の文字数を2文字以上とする Naming/MethodParameterName: MinNameLength: 2 # 1行の長さのMAXを150文字とする Layout/LineLength: Max: 150 # メソッドの行数をコメントを除いて50行までとする Metrics/MethodLength: CountComments: true Max: 50 # if文の実行結果が4行以上の場合にチェックするように設定する Style/GuardClause: MinBodyLength: 4 Style/IfUnlessModifier: Enabled: false # メソッドの複雑度を7→18に変更 # ※複雑度の計算方法は「https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/cop/metrics/perceived_complexity.rb」 Metrics/PerceivedComplexity: Max: 18 # メソッドの循環的複雑度を6→15に変更 # ※循環的複雑度の計算方法は「https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/cop/metrics/cyclomatic_complexity.rb」 Metrics/CyclomaticComplexity: Max: 15 # メソッドのABC sizeチェックの合計ポイントを15→40に変更 # ABC sizeチェックの計算方法は「https://github.com/rubocop-hq/rubocop/blob/master/lib/rubocop/cop/metrics/abc_size.rb」 Metrics/AbcSize: Max: 40 # ブロックの長さの制限をRspecは除外する # ※RspecはDSLのため1つのブロックで行数が増えてしまうのはしょうがないため Metrics/BlockLength: Max: 30 Exclude: - 'spec/**/*' # クラスの行数(コメントは除いて)を100→150に変更 Metrics/ClassLength: Max: 150 # モジュールの行数(コメントは除いて)を100→150に変更 Metrics/ModuleLength: Max: 150 # Rspec句のitの行数を5→10に変更 RSpec/ExampleLength: Max: 10 # https://docs.rubocop.org/en/stable/cops_layout/#layoutspacearoundmethodcalloperator Layout/SpaceAroundMethodCallOperator: Enabled: true # https://docs.rubocop.org/en/latest/cops_lint/#lintraiseexception Lint/RaiseException: Enabled: true # https://docs.rubocop.org/en/latest/cops_lint/#lintstructnewoverride Lint/StructNewOverride: Enabled: true # https://docs.rubocop.org/en/latest/cops_style/#styleexponentialnotation Style/ExponentialNotation: Enabled: true # https://docs.rubocop.org/en/latest/cops_style/#stylehasheachmethods Style/HashEachMethods: Enabled: true # https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformkeys Style/HashTransformKeys: Enabled: true # https://docs.rubocop.org/en/latest/cops_style/#stylehashtransformvalues Style/HashTransformValues: Enabled: true