Skip to content

Commit

Permalink
Fixes #30925 - use the organization style gem
Browse files Browse the repository at this point in the history
Use `theforeman-rubocop` gem to share common RuboCop rules with plugins.
It serves as base for our rubocop styles and rules.
  • Loading branch information
ezr-ondrej authored and lzap committed Dec 1, 2020
1 parent 42a7404 commit 375c2bc
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 91 deletions.
16 changes: 16 additions & 0 deletions .github/workflows/rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: RuboCop
on: [pull_request]
env:
BUNDLE_WITHOUT: assets:console:development:dynflow_sidekiq:ec2:gce:journald:jsonp:libvirt:openid:openstack:ovirt:redis:service:telemetry:vmware
jobs:
rubocop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.5
bundler-cache: true
- name: Run rubocop
run: bundle exec rubocop
18 changes: 0 additions & 18 deletions .hound.yml

This file was deleted.

72 changes: 4 additions & 68 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,34 +1,16 @@
require:
- rubocop-performance
- rubocop-rails
- rubocop-minitest
inherit_gem:
theforeman-rubocop:
- lenient.yml
- minitest.yml

inherit_from: .rubocop_todo.yml

AllCops:
TargetRubyVersion: 2.5
TargetRailsVersion: 5.2
Exclude:
- 'db/schema.rb'
- 'node_modules/**/*'
- 'vendor/**/*'

Bundler/OrderedGems:
Enabled: false

Layout/ArgumentAlignment:
EnforcedStyle: with_fixed_indentation
IndentationWidth: 2

Layout/DotPosition:
Enabled: false

Layout/EmptyLineAfterGuardClause:
Enabled: false

Layout/FirstArgumentIndentation:
EnforcedStyle: consistent

Layout/HashAlignment:
Enabled: false

Expand Down Expand Up @@ -66,48 +48,23 @@ Rails/BulkChangeTable:
Rails/RefuteMethods:
Enabled: false

Style/Alias:
EnforcedStyle: prefer_alias_method

Style/AndOr:
EnforcedStyle: conditionals

# Don't prefer is_a? over kind_of?
Style/ClassCheck:
Enabled: false

# Don't enforce certain methods, e.g. detect over find
Style/CollectionMethods:
Enabled: false

Style/ConditionalAssignment:
Enabled: false

# Don't enforce documentation
Style/Documentation:
Enabled: false

Style/EmptyMethod:
EnforcedStyle: expanded

# Don't enforce frozen string literals
Style/FrozenStringLiteralComment:
Enabled: false

# Support both, Ruby 1.9 hashmap and hash-rocket syntax
Style/HashSyntax:
EnforcedStyle: no_mixed_keys

Style/IfUnlessModifier:
Enabled: false

Style/InverseMethods:
Enabled: false

# disabled until we can configure "+" as concat sign
Style/LineEndConcatenation:
Enabled: false

Style/MultipleComparison:
Enabled: false

Expand All @@ -122,24 +79,3 @@ Style/ParenthesesAroundCondition:

Style/PreferredHashMethods:
Enabled: false

# Both double and single quotes are OK
Style/StringLiterals:
Enabled: false

Style/SymbolArray:
EnforcedStyle: brackets
MinSize: 1

Style/TernaryParentheses:
EnforcedStyle: require_parentheses_when_complex

Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: comma

Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: comma

#Allow both ['a', 'b'], %w[a b] and %w(a b) style arrays
Style/WordArray:
Enabled: false
131 changes: 131 additions & 0 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,134 @@
Layout/ArgumentAlignment:
Enabled: false
Layout/EmptyLinesAroundAttributeAccessor: # (new in 0.83)
Enabled: false
Layout/SpaceAroundOperators:
Enabled: false
Layout/SpaceAroundMethodCallOperator: # (new in 0.82)
Enabled: false
Lint/DeprecatedOpenSSLConstant: # (new in 0.84)
Enabled: false
Lint/DuplicateElsifCondition: # (new in 0.88)
Enabled: false
Lint/MixedRegexpCaptureTypes: # (new in 0.85)
Enabled: false
Lint/RaiseException: # (new in 0.81)
Enabled: false
Lint/StructNewOverride: # (new in 0.81)
Enabled: false
Lint/UriRegexp:
Enabled: false
Style/AccessorGrouping: # (new in 0.87)
Enabled: false
Style/ArrayCoercion: # (new in 0.88)
Enabled: false
Style/BisectedAttrAccessor: # (new in 0.87)
Enabled: false
Style/CaseLikeIf: # (new in 0.88)
Enabled: false
Style/ExponentialNotation: # (new in 0.82)
Enabled: false
Style/ExpandPathArguments:
Enabled: false
Style/HashAsLastArrayItem: # (new in 0.88)
Enabled: false
Style/HashLikeCase: # (new in 0.88)
Enabled: false
Style/RedundantAssignment: # (new in 0.87)
Enabled: false
Style/RedundantFetchBlock: # (new in 0.86)
Enabled: false
Style/RedundantFileExtensionInRequire: # (new in 0.88)
Enabled: false
Style/RedundantRegexpCharacterClass: # (new in 0.85)
Enabled: false
Style/RedundantRegexpEscape: # (new in 0.85)
Enabled: false
Style/SlicingWithRange: # (new in 0.83)
Enabled: false
Performance/AncestorsInclude: # (new in 1.7)
Enabled: false
Performance/BigDecimalWithNumericArgument: # (new in 1.7)
Enabled: false
Performance/CollectionLiteralInLoop: # (new in 1.8)
Enabled: false
Performance/DeletePrefix:
Enabled: false
Performance/RedundantSortBlock: # (new in 1.7)
Enabled: false
Performance/RedundantStringChars: # (new in 1.7)
Enabled: false
Performance/ReverseFirst: # (new in 1.7)
Enabled: false
Performance/SortReverse: # (new in 1.7)
Enabled: false
Performance/Squeeze: # (new in 1.7)
Enabled: false
Performance/StringInclude: # (new in 1.7)
Enabled: false
Rails/ActiveRecordCallbacksOrder: # (new in 2.7)
Enabled: false
Rails/ContentTag:
Enabled: false
Rails/FindById: # (new in 2.7)
Enabled: false
Rails/Inquiry: # (new in 2.7)
Enabled: false
Rails/MailerName: # (new in 2.7)
Enabled: false
Rails/MatchRoute: # (new in 2.7)
Enabled: false
Rails/NegateInclude: # (new in 2.7)
Enabled: false
Rails/Pluck: # (new in 2.7)
Enabled: false
Rails/PluckInWhere: # (new in 2.7)
Enabled: false
Rails/UniqueValidationWithoutIndex:
Enabled: false
Rails/RedundantForeignKey:
Enabled: false
Rails/IndexBy:
Enabled: false
Rails/IndexWith: # (new in 2.8)
Enabled: false
Rails/RenderInline: # (new in 2.7)
Enabled: false
Rails/RenderPlainText: # (new in 2.7)
Enabled: false
Rails/ShortI18n: # (new in 2.7)
Enabled: false
Rails/WhereExists: # (new in 2.7)
Enabled: false
Minitest/AssertInDelta: # (new in 0.10)
Enabled: false
Minitest/AssertionInLifecycleHook: # (new in 0.10)
Enabled: false
Minitest/AssertKindOf: # (new in 0.10)
Enabled: false
Minitest/AssertOutput: # (new in 0.10)
Enabled: false
Minitest/AssertPathExists: # (new in 0.10)
Enabled: false
Minitest/AssertSilent: # (new in 0.10)
Enabled: false
Minitest/GlobalExpectations:
Enabled: false
Minitest/LiteralAsActualArgument: # (new in 0.10)
Enabled: false
Minitest/MultipleAssertions: # (new in 0.10)
Enabled: false
Minitest/RefuteInDelta: # (new in 0.10)
Enabled: false
Minitest/RefuteKindOf: # (new in 0.10)
Enabled: false
Minitest/RefutePathExists: # (new in 0.10)
Enabled: false
Minitest/TestMethodName: # (new in 0.10)
Enabled: false
Minitest/UnspecifiedException: # (new in 0.10)
Enabled: false

# This configuration was generated by
# `rubocop --auto-gen-config --exclude-limit 0`
# on 2020-03-20 17:23:14 +0100 using RuboCop version 0.80.1.
Expand Down
6 changes: 1 addition & 5 deletions bundler.d/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,13 @@
gem 'database_cleaner', '~> 1.3', :require => false
gem 'launchy', '~> 2.4'
gem 'factory_bot_rails', '~> 5.0', :require => false
gem 'rubocop', '~> 0.80.0'
gem 'rubocop-checkstyle_formatter', '~> 0.2'
gem 'rubocop-minitest', '~> 0.7.0'
gem 'rubocop-performance', '~> 1.5.2'
gem 'rubocop-rails', '~> 2.4.2'
gem 'selenium-webdriver', :require => false
gem 'shoulda-matchers', '>= 4.0', '< 4.4'
gem 'shoulda-context', '~> 1.2'
gem 'as_deprecation_tracker', '~> 1.4'
gem 'rails-controller-testing', '~> 1.0'
gem 'rfauxfactory', '~> 0.1', '>= 0.1.5'
gem 'robottelo_reporter', '~> 0.1'
gem 'theforeman-rubocop', '~> 0.0.6', require: false
gem 'webmock'
end

0 comments on commit 375c2bc

Please sign in to comment.