Skip to content

Commit

Permalink
Use standardrb as code linter and formatter
Browse files Browse the repository at this point in the history
It is the defacto standard (pun intended) in the Ruby
community nowadays.
  • Loading branch information
tvdeyen committed Apr 27, 2023
1 parent 447a7d3 commit 94a2c2f
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 350 deletions.
352 changes: 3 additions & 349 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,353 +1,7 @@
# Relaxed.Ruby.Style
require: standard

AllCops:
TargetRubyVersion: 3.0
Exclude:
- 'bin/rspec'
- 'vendor/**/*'
- 'spec/dummy/db/**/*'
- 'spec/dummy/config/**/*'
- 'alchemy_cms.gemspec'
- 'Rakefile'
- 'node_modules/**/*'

# Really, rubocop?
Bundler/OrderedGems:
Enabled: false

Style/EmptyLiteral:
Enabled: false

# We use class vars and will have to continue doing so for compatability
Style/ClassVars:
Enabled: false

Style/FloatDivision:
EnforcedStyle: left_coerce

# This has been used for customization
Style/MutableConstant:
Enabled: false

Style/ClassAndModuleChildren:
Enabled: false

Style/GuardClause:
Enabled: false

# We support older versions of Ruby (2.1) that do not have the %i syntax
Style/SymbolArray:
Enabled: false

Style/SymbolProc:
Exclude:
- 'lib/alchemy/permissions.rb'

Style/WordArray:
Enabled: false

Style/ConditionalAssignment:
Enabled: false

Style/MixinUsage:
Exclude:
- spec/**/*

Layout/ArgumentAlignment:
Enabled: false

Layout/HashAlignment:
Enabled: false

Layout/ParameterAlignment:
Enabled: false

Layout/ClosingParenthesisIndentation:
Enabled: false

Layout/DotPosition:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styledotposition

Layout/ElseAlignment:
Enabled: false

Layout/EmptyLineAfterMagicComment:
Enabled: false

Layout/EmptyLinesAroundAccessModifier:
Exclude:
- lib/alchemy/test_support/factories/*.rb

Layout/FirstArrayElementIndentation:
Enabled: false

Layout/FirstHashElementIndentation:
Enabled: false

Layout/IndentationWidth:
Enabled: false

Layout/LineLength:
Enabled: false

Layout/MultilineHashBraceLayout:
Enabled: false

Layout/MultilineMethodCallBraceLayout:
Enabled: false

Layout/MultilineMethodCallIndentation:
Enabled: false

Layout/SpaceBeforeBlockBraces:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces

Layout/SpaceInsideHashLiteralBraces:
Enabled: false

Layout/SpaceInsideParens:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens

Layout/EndAlignment:
Enabled: false

Layout/RescueEnsureAlignment:
Enabled: false

Lint/SuppressedException:
Exclude:
- 'config/initializers/mini_profiler.rb'

Style/CollectionMethods:
Enabled: false

Style/Alias:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylealias

Style/BeginBlock:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylebeginblock

Style/BlockDelimiters:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleblockdelimiters

Style/Documentation:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styledocumentation

Style/DoubleNegation:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styledoublenegation

Style/EmptyMethod:
Enabled: false

Style/EndBlock:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleendblock

Style/FormatString:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleformatstring

Style/IfUnlessModifier:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleifunlessmodifier

Style/Lambda:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylelambda

Style/ModuleFunction:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylemodulefunction

Style/MultilineBlockChain:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylemultilineblockchain

Style/NegatedIf:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylenegatedif

Style/NegatedWhile:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile

Style/NumericLiteralPrefix:
Enabled: false

Style/ParallelAssignment:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleparallelassignment

Style/PercentLiteralDelimiters:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylepercentliteraldelimiters

Style/PerlBackrefs:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#styleperlbackrefs

Style/RegexpLiteral:
Enabled: false

Style/Semicolon:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylesemicolon

Style/SignalException:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylesignalexception

Style/SingleLineBlockParams:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylesinglelineblockparams

Style/SingleLineMethods:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods

Style/SpecialGlobalVars:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylespecialglobalvars

Style/StringLiterals:
EnforcedStyle: double_quotes

Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes

Style/TrailingCommaInArguments:
Enabled: false

Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: comma

Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: consistent_comma

Style/WhileUntilModifier:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#stylewhileuntilmodifier

# We use a lot of
#
# expect {
# something
# }.to { happen }
#
# syntax in the specs files.
Lint/AmbiguousBlockAssociation:
Exclude:
- 'spec/**/*'

Lint/AmbiguousRegexpLiteral:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral

Lint/AssignmentInCondition:
Enabled: false
StyleGuide: http://relaxed.ruby.style/#lintassignmentincondition

# We use eval to get the correct url proxy object of engines in:
# - app/helpers/alchemy/admin/navigation_helper.rb:139
# - lib/alchemy/resources_helper.rb:24
Security/Eval:
Exclude:
- app/helpers/alchemy/admin/navigation_helper.rb
- lib/alchemy/resources_helper.rb

Metrics/AbcSize:
Enabled: false

Metrics/BlockLength:
Enabled: false

Metrics/BlockNesting:
Enabled: false

Metrics/ClassLength:
Enabled: false

Metrics/ModuleLength:
Enabled: false

Metrics/CyclomaticComplexity:
Enabled: false

Metrics/MethodLength:
Enabled: false

Metrics/ParameterLists:
Enabled: false

Metrics/PerceivedComplexity:
Enabled: false

Naming/AccessorMethodName:
Enabled: false

Naming/HeredocDelimiterNaming:
Enabled: false

# This cop is great but has no config option to support the style `@_method_name` we are using.
Naming/MemoizedInstanceVariableName:
Enabled: false

# We need these names for backwards compatability
Naming/PredicateName:
Enabled: false

Naming/VariableNumber:
Enabled: false

Lint/DuplicateBranch: # (new in 1.3)
Enabled: false

Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
Enabled: false

Lint/EmptyBlock: # (new in 1.1)
Enabled: false

Lint/EmptyClass: # (new in 1.3)
Enabled: false

Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
Enabled: false

Lint/ToEnumArguments: # (new in 1.1)
Enabled: false

Lint/UnexpectedBlockArity: # (new in 1.5)
Enabled: false

Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
Enabled: false

Style/ArgumentsForwarding: # (new in 1.1)
Enabled: false

Style/CollectionCompact: # (new in 1.2)
Enabled: false

Style/DocumentDynamicEvalDefinition: # (new in 1.1)
Enabled: false

Style/NegatedIfElseCondition: # (new in 1.2)
Enabled: false

Style/NilLambda: # (new in 1.3)
Enabled: false

Style/RedundantArgument: # (new in 1.4)
Enabled: false

Style/SwapValues: # (new in 1.1)
Enabled: false
inherit_gem:
standard: config/base.yml
3 changes: 3 additions & 0 deletions .standard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
parallel: true
ignore:
- "spec/dummy/**/*"
3 changes: 2 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# frozen_string_literal: true

source "https://rubygems.org"

gemspec
Expand Down Expand Up @@ -32,7 +33,7 @@ group :development, :test do
gem "yard"
gem "redcarpet"
gem "pry-byebug"
gem "rubocop", "1.5.2", require: false
gem "standard", "~> 1.25", require: false
gem "listen"
gem "localeapp", "~> 3.0", require: false
gem "dotenv", "~> 2.2"
Expand Down

0 comments on commit 94a2c2f

Please sign in to comment.