blob: 701017f5dc10e5310f0b997bef86dacde414bd81 [file] [edit]
plugins:
- rubocop-performance
- rubocop-rake
- rubocop-rspec
AllCops:
TargetRubyVersion: 3.2
NewCops: enable
Exclude:
- !ruby/regexp /lib\/selenium\/devtools\/v\d+/
Gemspec/DevelopmentDependencies:
EnforcedStyle: gemspec
Layout/LineLength:
AllowedPatterns:
- '^\s*#'
Exclude:
- '../Rakefile*'
Layout/SpaceInsideHashLiteralBraces:
EnforcedStyle: no_space
Metrics/AbcSize:
Max: 30
Exclude:
- 'lib/selenium/webdriver/common/driver_finder.rb'
- 'lib/selenium/webdriver/common/options.rb'
- 'lib/selenium/webdriver/remote/capabilities.rb'
- 'lib/selenium/webdriver/remote/http/curb.rb'
- 'lib/selenium/webdriver/support/color.rb'
Metrics/BlockLength:
Max: 18
Exclude:
- 'spec/**/*.rb'
- 'selenium-*.gemspec'
- '../Rakefile*'
Metrics/ClassLength:
CountComments: false
Max: 160
Exclude:
- 'lib/selenium/webdriver/common/driver.rb'
- 'lib/selenium/webdriver/remote/bridge.rb'
- 'lib/selenium/webdriver/remote/capabilities.rb'
- 'spec/integration/selenium/webdriver/spec_support/test_environment.rb'
- 'spec/**/*.rb'
Metrics/CyclomaticComplexity:
Max: 9
Exclude:
- 'lib/selenium/webdriver/support/color.rb'
- 'lib/selenium/webdriver/common/logger.rb'
Metrics/MethodLength:
CountComments: false
Max: 22
Exclude:
- 'lib/selenium/server.rb'
- 'lib/selenium/webdriver/common/options.rb'
- 'lib/selenium/webdriver/common/driver.rb'
- 'lib/selenium/webdriver/common/driver_finder.rb'
- 'lib/selenium/webdriver/remote/http/default.rb'
Metrics/ModuleLength:
CountComments: false
Max: 110
Exclude:
- 'lib/selenium/webdriver/common/platform.rb'
- 'spec/**/*'
Metrics/PerceivedComplexity:
Max: 9
Exclude:
- 'lib/selenium/webdriver/common/options.rb'
- 'lib/selenium/webdriver/common/local_driver.rb'
- 'lib/selenium/webdriver/common/logger.rb'
Naming/BlockForwarding:
EnforcedStyle: explicit
Naming/FileName:
Exclude:
- 'lib/selenium-webdriver.rb'
- 'Rakefile'
- '../Rakefile'
Naming/MethodParameterName:
AllowedNames:
- x
- y
- ex
- by
- id
- io
Naming/PredicateMethod:
Exclude:
- 'lib/selenium/webdriver/common/file_reaper.rb'
- 'lib/selenium/webdriver/common/socket_poller.rb'
RSpec/AnyInstance:
Enabled: false
RSpec/BeforeAfterAll:
Enabled: false
RSpec/ExampleLength:
Enabled: false
RSpec/InstanceVariable:
Exclude:
- 'spec/unit/selenium/webdriver/socket_poller_spec.rb'
- 'spec/integration/selenium/webdriver/chrome/print_pdf_spec.rb'
RSpec/MultipleExpectations:
Enabled: false
RSpec/NoExpectationExample:
Exclude:
- 'spec/integration/selenium/webdriver/guard_spec.rb'
- 'spec/integration/selenium/webdriver/takes_screenshot_spec.rb'
RSpec/MultipleMemoizedHelpers:
Max: 6
Exclude:
- 'spec/unit/selenium/webdriver/common/interactions/*_spec.rb'
Style/BlockDelimiters:
EnforcedStyle: braces_for_chaining
Style/CommentedKeyword:
Enabled: false
# __dir__ should be avoided when used with Bazel.
Style/Dir:
Exclude:
- 'selenium-devtools.gemspec'
- 'selenium-webdriver.gemspec'
# Consider documenting all top-level classes and modules
Style/Documentation:
Enabled: false
Style/HashEachMethods:
Enabled: true
# Port Integers do not need underscores
Style/NumericLiterals:
Enabled: false
Style/OptionalBooleanParameter:
Enabled: false
Lint/Debugger:
Exclude:
- 'lib/selenium/webdriver/common/driver_extensions/full_page_screenshot.rb'
Lint/UselessConstantScoping:
Enabled: false