diff --git a/.rubocop.yml b/.rubocop.yml index f7988064..07b7e995 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -39,6 +39,7 @@ Metrics/BlockLength: Max: 31 Exclude: - 'app/controllers/catalog_controller.rb' + - 'lib/tasks/dev.rake' - 'spec/**/*' Style/BlockDelimiters: @@ -53,23 +54,23 @@ Style/BlockComments: Exclude: - 'spec/spec_helper.rb' -Style/BlockEndNewline: +Layout/BlockEndNewline: Exclude: - 'spec/**/*' -Style/IndentHash: +Layout/IndentHash: Exclude: - 'app/controllers/catalog_controller.rb' -Style/LeadingCommentSpace: +Layout/LeadingCommentSpace: Exclude: - 'spec/**/*' -Style/MultilineBlockLayout: +Layout/MultilineBlockLayout: Exclude: - 'spec/**/*' -Style/IndentationConsistency: +Layout/IndentationConsistency: EnforcedStyle: rails Style/CollectionMethods: @@ -135,3 +136,8 @@ RSpec/DescribeClass: - 'spec/views/**/*' - 'spec/routing/**/*' - 'spec/inputs/**/*' + +Naming/FileName: + Exclude: + - 'Capfile' + - 'Gemfile' diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 33a41607..1c5fb322 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,14 +1,90 @@ -require: rubocop-rspec - # This configuration was generated by # `rubocop --auto-gen-config` -# on 2016-10-12 17:55:52 -0500 using RuboCop version 0.43.0. +# on 2018-04-19 10:04:35 -0400 using RuboCop version 0.52.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 8 +# Offense count: 16 +# Cop supports --auto-correct. +# Configuration parameters: Include, TreatCommentsAsGroupSeparators. +# Include: **/Gemfile, **/gems.rb +Bundler/OrderedGems: + Exclude: + - 'Gemfile' + +# Offense count: 10 +Capybara/FeatureMethods: + Exclude: + - 'spec/features/catalog_spec.rb' + - 'spec/features/exhibit_home_page_spec.rb' + - 'spec/features/sign_in_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Layout/CommentIndentation: + Exclude: + - 'Gemfile' + +# Offense count: 5 +# Cop supports --auto-correct. +Layout/EmptyLineAfterMagicComment: + Exclude: + - 'app/models/solr_document.rb' + - 'app/repositories/friendly_id_repository.rb' + - 'config/initializers/datadog.rb' + - 'config/initializers/lograge.rb' + - 'lib/tasks/dev.rake' + +# Offense count: 1 +# Cop supports --auto-correct. +Layout/EmptyLines: + Exclude: + - 'Gemfile' + +# Offense count: 1 +# Configuration parameters: CountComments, ExcludedMethods. +Metrics/BlockLength: + Max: 44 + +# Offense count: 6 +# Configuration parameters: Prefixes. +# Prefixes: when, with, without +RSpec/ContextWording: + Exclude: + - 'spec/controllers/application_controller_spec.rb' + - 'spec/features/catalog_spec.rb' + - 'spec/features/exhibit_home_page_spec.rb' + - 'spec/features/sign_in_spec.rb' + +# Offense count: 29 +RSpec/EmptyLineAfterFinalLet: + Exclude: + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/catalog_controller_spec.rb' + - 'spec/controllers/exhibits_controller_spec.rb' + - 'spec/decorators/both_fields_spec.rb' + - 'spec/features/exhibit_home_page_spec.rb' + - 'spec/helpers/index_helper_spec.rb' + - 'spec/helpers/spotlight_helper_spec.rb' + - 'spec/models/external_manifest_spec.rb' + - 'spec/models/iiif_resource_spec.rb' + - 'spec/models/solr_document_spec.rb' + - 'spec/repositories/friendly_id_repository_spec.rb' + - 'spec/services/plum_event_processor_spec.rb' + - 'spec/views/spotlight/metadata_configurations/edit.html.erb_spec.rb' + - 'spec/workers/plum_event_handler_spec.rb' + +# Offense count: 4 +RSpec/EmptyLineAfterSubject: + Exclude: + - 'spec/decorators/both_fields_spec.rb' + - 'spec/models/external_manifest_spec.rb' + - 'spec/queries/external_collections_query_spec.rb' + - 'spec/services/plum_event_processor_spec.rb' + +# Offense count: 15 # Configuration parameters: Max. RSpec/ExampleLength: Exclude: @@ -17,34 +93,148 @@ RSpec/ExampleLength: - 'spec/services/plum_event_processor_spec.rb' - 'spec/workers/plum_event_handler_spec.rb' +# Offense count: 5 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Exclude: + - 'spec/support/database_cleaner.rb' + - 'spec/support/reset_auth.rb' + - 'spec/support/solr_cleanup.rb' + # Offense count: 3 -# Configuration parameters: EnforcedStyle, SupportedStyles. -# SupportedStyles: allow, expect -RSpec/MessageExpectation: +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_received, receive +RSpec/MessageSpies: Exclude: - 'spec/jobs/iiif_ingest_job_spec.rb' -# Offense count: 20 +# Offense count: 32 +# Configuration parameters: AggregateFailuresByDefault. RSpec/MultipleExpectations: - Max: 4 - Exclude: - - 'spec/models/iiif_resource_spec.rb' + Max: 6 -# Offense count: 1 -# Configuration parameters: MaxNesting. -RSpec/NestedGroups: +# Offense count: 2 +RSpec/ScatteredLet: Exclude: - - 'spec/helpers/index_helper_spec.rb' - - 'spec/models/iiif_resource_spec.rb' + - 'spec/views/spotlight/metadata_configurations/_metadata_field.html.erb_spec.rb' # Offense count: 2 RSpec/SubjectStub: Exclude: - 'spec/workers/plum_event_handler_spec.rb' -# Offense count: 3 +# Offense count: 8 # Configuration parameters: IgnoreSymbolicNames. RSpec/VerifiedDoubles: Exclude: - 'spec/presenters/rtl_index_presenter_spec.rb' - 'spec/presenters/rtl_show_presenter_spec.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Rails/ApplicationJob: + Exclude: + - 'app/jobs/iiif_ingest_job.rb' + - 'app/jobs/spotlight/reindex_job.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Rails/ApplicationRecord: + Exclude: + - 'app/models/user.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. +Rails/Blank: + Exclude: + - 'app/services/iiif_manifest.rb' + +# Offense count: 3 +Rails/FilePath: + Exclude: + - 'config/application.rb' + - 'config/initializers/pom_config.rb' + - 'spec/rails_helper.rb' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: app/models/**/*.rb +Rails/InverseOf: + Exclude: + - 'app/models/iiif_resource.rb' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: app/controllers/**/*.rb +Rails/LexicallyScopedActionFilter: + Exclude: + - 'app/controllers/exhibits_controller.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Security/YAMLLoad: + Exclude: + - 'config/initializers/pom_config.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: compact, expanded +Style/EmptyMethod: + Exclude: + - 'app/models/exhibit_proxy.rb' + - 'app/models/user.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/Encoding: + Exclude: + - 'app/models/solr_document.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: InverseMethods, InverseBlocks. +Style/InverseMethods: + Exclude: + - 'app/queries/external_collections_query.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'app/models/search_builder.rb' + - 'app/values/manifest_metadata.rb' + - 'config/application.rb' + - 'config/deploy/production.rb' + - 'config/deploy/staging.rb' + - 'config/initializers/assets.rb' + - 'config/initializers/friendly_id.rb' + - 'config/initializers/lograge.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'app/jobs/spotlight/reindex_job.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, MinSize. +# SupportedStyles: percent, brackets +Style/SymbolArray: + Exclude: + - 'app/controllers/catalog_controller.rb' + - 'app/models/search_across_search_builder.rb' + - 'app/models/search_builder/join_children_query.rb' + - 'config/routes.rb' + +# Offense count: 216 +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https +Metrics/LineLength: + Max: 199