From 4f1ec4af9e3bcab3cc5ac953198bc422ada0eee4 Mon Sep 17 00:00:00 2001 From: David Gay Date: Sun, 29 Oct 2023 23:30:06 -0400 Subject: Install and configure rubocop --- .rubocop.yml | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Gemfile | 5 ++ Gemfile.lock | 39 ++++++++++++++ 3 files changed, 214 insertions(+) create mode 100644 .rubocop.yml diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..0bb90c0 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,170 @@ +require: + - rubocop-minitest + - rubocop-packaging + - rubocop-performance + - rubocop-rails + +AllCops: + NewCops: enable + +Layout/AccessModifierIndentation: + EnforcedStyle: outdent + +Layout/CaseIndentation: + EnforcedStyle: end + +Layout/ElseAlignment: + Enabled: false + +Layout/EndAlignment: + EnforcedStyleAlignWith: start_of_line + +Layout/FirstHashElementIndentation: + EnforcedStyle: consistent + +Layout/LineLength: + Max: 120 + +Layout/MultilineMethodCallIndentation: + EnforcedStyle: indented + +Layout/SpaceInsideHashLiteralBraces: + EnforcedStyle: no_space + +Metrics/AbcSize: + Enabled: false + +Metrics/BlockLength: + Enabled: false + +Metrics/BlockNesting: + Enabled: false + +Metrics/ClassLength: + Enabled: false + +Metrics/CollectionLiteralLength: + Enabled: false + +Metrics/CyclomaticComplexity: + Enabled: false + +Metrics/MethodLength: + Enabled: false + +Metrics/ModuleLength: + Enabled: false + +Metrics/ParameterLists: + Enabled: false + +Metrics/PerceivedComplexity: + Enabled: false + +Minitest/MultipleAssertions: + Enabled: false + +Naming/AccessorMethodName: + Enabled: false + +Naming/AsciiIdentifiers: + Enabled: false + +Naming/BinaryOperatorParameterName: + Enabled: true + +Naming/BlockForwarding: + Enabled: false + +Naming/BlockParameterName: + Enabled: true + MinNameLength: 1 + AllowNamesEndingInNumbers: true + AllowedNames: [] + ForbiddenNames: [] + +Naming/ClassAndModuleCamelCase: + Enabled: true + +Naming/ConstantName: + Enabled: true + +Naming/FileName: + Enabled: false + +Naming/HeredocDelimiterCase: + Enabled: true + EnforcedStyle: uppercase + +Naming/HeredocDelimiterNaming: + Enabled: false + +Naming/InclusiveLanguage: + Enabled: false + +Naming/MemoizedInstanceVariableName: + Enabled: false + +Naming/MethodName: + Enabled: false + +Naming/MethodParameterName: + Enabled: false + +Naming/PredicateName: + Enabled: false + +Naming/RescuedExceptionsVariableName: + Enabled: false + +Naming/VariableName: + Enabled: true + EnforcedStyle: snake_case + +Naming/VariableNumber: + Enabled: false + +Rails/I18nLocaleTexts: + Enabled: false + +Style/ClassAndModuleChildren: + Enabled: false + +Style/Documentation: + Enabled: false + +Style/FrozenStringLiteralComment: + Enabled: false + +Style/IfUnlessModifier: + Enabled: false + +Style/QuotedSymbols: + Enabled: true + EnforcedStyle: same_as_string_literals + +Style/RedundantSelf: + Enabled: false + +Style/StringLiterals: + Enabled: true + EnforcedStyle: double_quotes + ConsistentQuotesInMultiline: false + +Style/StringLiteralsInInterpolation: + Enabled: true + EnforcedStyle: double_quotes + +Style/SymbolArray: + Enabled: false + +Style/TrailingCommaInArrayLiteral: + Enabled: true + EnforcedStyleForMultiline: comma + +Style/TrailingCommaInHashLiteral: + Enabled: true + EnforcedStyleForMultiline: comma + +Style/WordArray: + Enabled: false diff --git a/Gemfile b/Gemfile index fb9b658..1aec2b6 100644 --- a/Gemfile +++ b/Gemfile @@ -16,6 +16,11 @@ group :development, :test do gem "debug" end group :development do + gem "rubocop", require: false + gem "rubocop-minitest", require: false + gem "rubocop-packaging", require: false + gem "rubocop-performance", require: false + gem "rubocop-rails", require: false gem "web-console" end group :test do diff --git a/Gemfile.lock b/Gemfile.lock index 95206a2..f17a02d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,6 +76,7 @@ GEM tzinfo (~> 2.0) addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) + ast (2.4.2) base64 (0.1.1) bigdecimal (3.1.4) bindex (0.8.1) @@ -113,6 +114,8 @@ GEM irb (1.8.3) rdoc reline (>= 0.3.8) + json (2.6.3) + language_server-protocol (3.17.0.3) loofah (2.21.4) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -139,6 +142,10 @@ GEM nio4r (2.5.9) nokogiri (1.15.4-x86_64-linux) racc (~> 1.4) + parallel (1.23.0) + parser (3.2.2.4) + ast (~> 2.4.1) + racc pg (1.5.4) propshaft (0.8.0) actionpack (>= 7.0.0) @@ -188,6 +195,7 @@ GEM rake (>= 12.2) thor (~> 1.0, >= 1.2.2) zeitwerk (~> 2.6) + rainbow (3.1.1) rake (13.1.0) rdoc (6.5.0) psych (>= 4.0.0) @@ -195,6 +203,31 @@ GEM reline (0.3.9) io-console (~> 0.5) rexml (3.2.6) + rubocop (1.57.2) + json (~> 2.3) + language_server-protocol (>= 3.17.0) + parallel (~> 1.10) + parser (>= 3.2.2.4) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.28.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.30.0) + parser (>= 3.2.1.0) + rubocop-minitest (0.33.0) + rubocop (>= 1.39, < 2.0) + rubocop-packaging (0.5.2) + rubocop (>= 1.33, < 2.0) + rubocop-performance (1.19.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rails (2.22.1) + activesupport (>= 4.2.0) + rack (>= 1.1) + rubocop (>= 1.33.0, < 2.0) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (2.3.2) selenium-webdriver (4.14.0) @@ -214,6 +247,7 @@ GEM railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) + unicode-display_width (2.5.0) web-console (4.2.1) actionview (>= 6.0.0) activemodel (>= 6.0.0) @@ -240,6 +274,11 @@ DEPENDENCIES propshaft puma rails (~> 7.1.1) + rubocop + rubocop-minitest + rubocop-packaging + rubocop-performance + rubocop-rails selenium-webdriver stimulus-rails tailwindcss-rails -- cgit v1.2.3