require: rubocop-rspec Rails: Enabled: true Documentation: Enabled: true AllCops: DisplayCopNames: true TargetRubyVersion: 2.3 Exclude: - bin/**/* - vendor/**/* - build/**/* - gemfiles/vendor/**/* Metrics/BlockLength: Exclude: - Rakefile - '*.gemspec' - spec/**/*.rb - '**/*.rake' - doc/**/*.rb # Concerns and middlewares contain by nature long blocks - lib/pricehubble/entity/concern/**/*.rb - lib/pricehubble/client/request/**/*.rb - lib/pricehubble/client/response/**/*.rb # Document all the things. Style/DocumentationMethod: Enabled: true RequireForNonPublicMethods: true # It's a deliberate idiom in RSpec. # See: https://github.com/bbatsov/rubocop/issues/4222 Lint/AmbiguousBlockAssociation: Exclude: - "spec/**/*" # Because +expect_any_instance_of().to have_received()+ is not # supported with the +with(hash_including)+ matchers RSpec/MessageSpies: EnforcedStyle: receive # Because nesting makes sense here to group the feature tests # more effective. This increases maintainability. RSpec/NestedGroups: Max: 4 # Disable regular Rails spec paths. RSpec/FilePath: Enabled: false # Because we just implemented the ActiveRecord API. Rails/SkipsModelValidations: Enabled: false # Because of the clean wording on the examples. Lint/ShadowingOuterLocalVariable: Exclude: - "doc/**/*"