require: rubocop-rspec inherit_from: .rubocop_fixme.yml AllCops: TargetRubyVersion: 2.1 DisplayCopNames: true Include: - '**/Rakefile' - '**/config.ru' Exclude: - 'db/**/*' - 'script/**/*' - 'spec/test_app_templates/**/*' - 'vendor/**/*' - 'lib/hyrax/specs/**/*' Bundler/DuplicatedGem: # This doesn't work with engine_cart Enabled: false Layout/IndentationConsistency: EnforcedStyle: rails Lint/ImplicitStringConcatenation: Exclude: - 'lib/generators/hyrax/**/*' Lint/AmbiguousBlockAssociation: Enabled: false Metrics/LineLength: Max: 200 Metrics/AbcSize: Max: 26 Metrics/BlockLength: ExcludedMethods: ['included'] Exclude: - 'hyrax.gemspec' - 'app/models/concerns/hyrax/content_block_behavior.rb' - 'app/services/hyrax/workflow/workflow_schema.rb' - 'config/initializers/simple_form.rb' - 'config/routes.rb' - 'lib/generators/hyrax/templates/catalog_controller.rb' - 'lib/generators/hyrax/templates/config/initializers/simple_form_bootstrap.rb' - 'lib/hyrax/rails/routes.rb' - 'lib/tasks/*.rake' - 'spec/**/*.rb' Metrics/MethodLength: Max: 13 Naming/FileName: # https://github.com/bbatsov/rubocop/issues/2973 Exclude: - 'Gemfile' Style/AsciiComments: Enabled: false Style/CollectionMethods: PreferredMethods: collect: 'map' collect!: 'map!' inject: 'reduce' detect: 'find' find_all: 'select' Style/MethodMissing: Exclude: - 'app/models/concerns/hyrax/file_set/characterization.rb' Style/NumericPredicate: Exclude: - 'app/controllers/hyrax/file_sets_controller.rb' Style/SymbolArray: Enabled: false Style/WordArray: Enabled: false Style/RegexpLiteral: Enabled: false Style/StringLiterals: Enabled: false Style/ClassAndModuleChildren: Enabled: false Style/Documentation: Enabled: false Style/SingleLineBlockParams: Enabled: false Style/ZeroLengthPredicate: Exclude: - 'app/controllers/hyrax/file_sets_controller.rb' Rails: Enabled: true Rails/ApplicationJob: Enabled: false Rails/ApplicationRecord: Enabled: false # We define custom methods like `find_by_user_key`, # `find_by_created_date`, etc Rails/DynamicFindBy: Enabled: false Rails/FilePath: Exclude: - 'spec/abilities/**/*' Rails/OutputSafety: Exclude: - 'app/builders/hyrax/form_builder.rb' - 'app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb' - 'app/helpers/hyrax/citations_behaviors/formatters/chicago_formatter.rb' - 'app/helpers/hyrax/citations_behaviors/formatters/mla_formatter.rb' - 'app/helpers/hyrax/collections_helper.rb' - 'app/helpers/hyrax/content_block_helper_behavior.rb' - 'app/helpers/hyrax/hyrax_helper_behavior.rb' - 'app/presenters/hyrax/fixity_status_presenter.rb' - 'app/presenters/hyrax/presents_attributes.rb' - 'app/renderers/hyrax/renderers/attribute_renderer.rb' - 'spec/views/hyrax/my/works/_list_works.html.erb_spec.rb' RSpec/DescribeClass: Exclude: - 'spec/abilities/**/*' - 'spec/config/hyrax_events_spec.rb' - 'spec/conversions/**/*' - 'spec/features/**/*' - 'spec/inputs/**/*' - 'spec/javascripts/jasmine_spec.rb' - 'spec/tasks/rake_spec.rb' - 'spec/views/**/*' RSpec/ContextWording: Enabled: false # By default RSpec/MessageSpies has the following: # Prefer have_received for setting message expectations. Setup form as a spy using allow or instance_spy. # The default assumes EnforcedStyle is 'have_received'. Most of our specs are 'receive' RSpec/MessageSpies: Enabled: false RSpec/InstanceVariable: Exclude: - 'spec/services/hyrax/derivative_service_spec.rb' RSpec/ExpectActual: Enabled: false RSpec/LetSetup: Enabled: false RSpec/MessageExpectation: Enabled: false RSpec/MultipleExpectations: Enabled: false RSpec/NestedGroups: Enabled: false RSpec/LeadingSubject: Enabled: false