From 5fc867a8fc4c6282ba99245e408d7a126406864d Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Sat, 8 Sep 2018 03:49:37 +0200 Subject: [PATCH] Introduces rubocop-rspec Also regenerating the config. Most stuff in there didn't really make sense. Time to go through .rubocop_todo.yml people :-) --- .rubocop.yml | 42 +-- .rubocop_todo.yml | 647 +++++++++++++++++++++++++++++++++++++++------- Gemfile | 1 + Gemfile.lock | 28 +- 4 files changed, 583 insertions(+), 135 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index de129467..5ee02f6e 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,41 +1,17 @@ -# Inherit style from another configuration +require: rubocop-rspec + inherit_from: .rubocop_todo.yml -# Apply rule to all cops AllCops: - Include: - - '**/Rakefile' - - '**/config.ru' - Exclude: - - 'db/schema.rb' - - 'vendor/bundle/**/*' - - 'bundle/**/*' - - 'config/**/*' - - 'bin/*' - TargetRubyVersion: 2.4 + UseCache: true + CacheRootDirectory: tmp/rubocop_cache_rails_dir + MaxFilesInCache: 4000 -#################### Metrics ############################### +#################### Style ########################### -# Start with cops for Ruby >= 2.3 disabled -Style/NumericPredicate: - Enabled: false +##################### Metrics ################################## + +##################### Rails ################################## Rails: Enabled: true - -# Avoid deep blocks nesting -Metrics/BlockNesting: - Max: 4 - -# Avoid writing classes that are more than 300 lines -Metrics/ClassLength: - Max: 300 - Exclude: - - 'app/models/conference.rb' - -Metrics/BlockLength: - Exclude: - - 'spec/models/conference_spec.rb' - - 'spec/features/ability_spec.rb' - - 'spec/models/ability_spec.rb' - - 'spec/models/admin_ability_spec.rb' diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 61bc6539..b8a2c98b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,11 +1,39 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2018-05-08 14:04:04 -0700 using RuboCop version 0.55.0. +# on 2018-09-08 03:47:39 +0200 using RuboCop version 0.58.2. # 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: 381 +Capybara/CurrentPathExpectation: + Exclude: + - 'spec/features/base_controller_spec.rb' + - 'spec/features/cfp_ability_spec.rb' + - 'spec/features/commercials_spec.rb' + - 'spec/features/conference_registration_spec.rb' + - 'spec/features/info_desk_ability_spec.rb' + - 'spec/features/organization_admin_ability_spec.rb' + - 'spec/features/organizer_ability_spec.rb' + - 'spec/features/proposals_spec.rb' + - 'spec/features/registration_periods_spec.rb' + - 'spec/features/splashpage_spec.rb' + - 'spec/features/ticket_purchases_spec.rb' + - 'spec/features/track_organizer_ability_spec.rb' + - 'spec/features/user_ability_spec.rb' + +# Offense count: 170 +# Cop supports --auto-correct. +# Configuration parameters: EnabledMethods. +Capybara/FeatureMethods: + Enabled: false + +# Offense count: 140 +# Cop supports --auto-correct. +FactoryBot/AttributeDefinedStatically: + Enabled: false + # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, IndentationWidth. @@ -14,12 +42,14 @@ Layout/AlignParameters: Exclude: - 'Vagrantfile' -# Offense count: 9 +# Offense count: 4 # Cop supports --auto-correct. Layout/ClosingParenthesisIndentation: Exclude: - 'app/controllers/conference_registrations_controller.rb' - - 'spec/support/omniauth_macros.rb' + - 'app/controllers/proposals_controller.rb' + - 'app/models/commercial.rb' + - 'spec/controllers/users/omniauth_callbacks_controller_spec.rb' # Offense count: 14 # Cop supports --auto-correct. @@ -32,13 +62,20 @@ Layout/CommentIndentation: - 'app/models/track.rb' - 'spec/features/volunteers_spec.rb' +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowBorderComment, AllowMarginComment. +Layout/EmptyComment: + Exclude: + - 'config/initializers/formtastic.rb' + # Offense count: 1 # Cop supports --auto-correct. Layout/EmptyLineAfterMagicComment: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 113 +# Offense count: 121 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. # SupportedStyles: empty_lines, no_empty_lines @@ -51,7 +88,7 @@ Layout/EmptyLinesAroundExceptionHandlingKeywords: Exclude: - 'app/models/payment.rb' -# Offense count: 10 +# Offense count: 51 # Cop supports --auto-correct. # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment. Layout/ExtraSpacing: @@ -59,16 +96,20 @@ Layout/ExtraSpacing: - 'Guardfile' - 'app/controllers/application_controller.rb' - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' + - 'bin/rails' - 'config.ru' + - 'config/environments/test.rb' + - 'config/initializers/airbrake.rb' - 'db/migrate/20140623101032_create_ahoy_events.rb' - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - 'db/migrate/20140719160903_create_delayed_jobs.rb' + - 'db/schema.rb' - 'spec/models/conference_spec.rb' -# Offense count: 43 +# Offense count: 47 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: consistent, special_for_inner_method_call, special_for_inner_method_call_in_parentheses +# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses Layout/FirstParameterIndentation: Enabled: false @@ -80,21 +121,23 @@ Layout/IndentArray: Exclude: - 'app/models/conference.rb' -# Offense count: 2 +# Offense count: 6 # Cop supports --auto-correct. # Configuration parameters: IndentationWidth. Layout/IndentAssignment: Exclude: - 'app/helpers/format_helper.rb' - 'app/models/conference.rb' + - 'config/environments/development.rb' -# Offense count: 3 +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: special_inside_parentheses, consistent, align_braces Layout/IndentHash: Exclude: - 'app/models/user.rb' + - 'config/routes.rb' - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' # Offense count: 3 @@ -107,12 +150,20 @@ Layout/IndentationConsistency: - 'app/models/event.rb' - 'spec/controllers/subscriptions_controller_spec.rb' -# Offense count: 4 +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: Width, IgnoredPatterns. +Layout/IndentationWidth: + Exclude: + - 'app/controllers/users_controller.rb' + +# Offense count: 5 # Cop supports --auto-correct. Layout/LeadingCommentSpace: Exclude: - 'Guardfile' - 'app/models/comment.rb' + - 'config/deploy.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -128,13 +179,14 @@ Layout/MultilineBlockLayout: Exclude: - 'app/serializers/conference_serializer.rb' -# Offense count: 6 +# Offense count: 7 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. # SupportedStyles: symmetrical, new_line, same_line Layout/MultilineHashBraceLayout: Exclude: - 'app/serializers/conference_serializer.rb' + - 'config/routes.rb' - 'spec/models/event_spec.rb' # Offense count: 40 @@ -144,14 +196,14 @@ Layout/MultilineHashBraceLayout: Layout/MultilineMethodCallBraceLayout: Enabled: false -# Offense count: 55 +# Offense count: 56 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented, indented_relative_to_receiver Layout/MultilineMethodCallIndentation: Enabled: false -# Offense count: 19 +# Offense count: 18 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented @@ -184,15 +236,23 @@ Layout/SpaceAroundEqualsInParameterDefault: - 'app/helpers/format_helper.rb' - 'app/models/event.rb' -# Offense count: 2 +# Offense count: 1 +# Cop supports --auto-correct. +Layout/SpaceAroundKeyword: + Exclude: + - 'config/initializers/feature.rb' + +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: AllowForAlignment. Layout/SpaceAroundOperators: Exclude: - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' + - 'config/environments/test.rb' + - 'config/initializers/airbrake.rb' - 'lib/tasks/data.rake' -# Offense count: 486 +# Offense count: 487 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space @@ -218,7 +278,17 @@ Layout/SpaceBeforeSemicolon: Exclude: - 'Guardfile' -# Offense count: 50 +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBrackets: space, no_space +Layout/SpaceInsideArrayLiteralBrackets: + Exclude: + - 'config/initializers/devise.rb' + - 'config/routes.rb' + +# Offense count: 44 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. # SupportedStyles: space, no_space @@ -238,7 +308,7 @@ Layout/SpaceInsideBlockBraces: - 'spec/models/ability_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 37 +# Offense count: 39 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space, compact @@ -257,6 +327,7 @@ Layout/SpaceInsideHashLiteralBraces: - 'app/views/admin/events/events.xlsx.axlsx' - 'app/views/admin/tracks/_all_tracks.xlsx.axlsx' - 'app/views/admin/tracks/_confirmed_tracks.xlsx.axlsx' + - 'config/routes.rb' - 'spec/models/event_spec.rb' - 'spec/models/payment_spec.rb' @@ -268,11 +339,21 @@ Layout/SpaceInsideParens: Exclude: - 'app/views/admin/registrations/index.xlsx.axlsx' -# Offense count: 2 +# Offense count: 5 # Cop supports --auto-correct. Layout/SpaceInsidePercentLiteralDelimiters: Exclude: - 'Gemfile' + - 'config/deploy.rb' + - 'config/initializers/assets.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: space, no_space +Layout/SpaceInsideStringInterpolation: + Exclude: + - 'config/initializers/active_record_log_subscriber.rb' # Offense count: 3 # Cop supports --auto-correct. @@ -295,12 +376,23 @@ Lint/AmbiguousBlockAssociation: - 'spec/controllers/schedules_controller_spec.rb' - 'spec/models/user_spec.rb' +# Offense count: 1 +# Configuration parameters: AllowSafeAssignment. +Lint/AssignmentInCondition: + Exclude: + - 'bin/spring' + # Offense count: 2 Lint/DuplicatedKey: Exclude: - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' +# Offense count: 1 +Lint/HandleExceptions: + Exclude: + - 'bin/rspec' + # Offense count: 4 Lint/IneffectiveAccessModifier: Exclude: @@ -321,20 +413,38 @@ Lint/UnusedBlockArgument: Exclude: - 'lib/tasks/user.rake' -# Offense count: 141 +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods. +Lint/UnusedMethodArgument: + Exclude: + - 'config/initializers/fuckups.rb' + +# Offense count: 142 Metrics/AbcSize: Max: 94 -# Offense count: 274 +# Offense count: 331 # Configuration parameters: CountComments, ExcludedMethods. +# ExcludedMethods: refine Metrics/BlockLength: - Max: 471 + Max: 1419 + +# Offense count: 1 +# Configuration parameters: CountBlocks. +Metrics/BlockNesting: + Max: 4 + +# Offense count: 13 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 684 # Offense count: 32 Metrics/CyclomaticComplexity: Max: 14 -# Offense count: 143 +# Offense count: 146 # Configuration parameters: CountComments. Metrics/MethodLength: Max: 60 @@ -342,29 +452,20 @@ Metrics/MethodLength: # Offense count: 5 # Configuration parameters: CountComments. Metrics/ModuleLength: - Max: 180 + Max: 173 -# Offense count: 23 +# Offense count: 22 Metrics/PerceivedComplexity: Max: 16 -# Offense count: 18 +# Offense count: 17 Naming/AccessorMethodName: Exclude: - - 'app/controllers/application_controller.rb' - 'app/models/campaign.rb' - 'app/models/conference.rb' - 'app/models/target.rb' - 'app/models/user.rb' -# Offense count: 2 -# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms. -# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS -Naming/FileName: - Exclude: - - 'Gemfile' - - 'Vagrantfile' - # Offense count: 2 # Configuration parameters: Blacklist. # Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$)) @@ -387,7 +488,7 @@ Naming/PredicateName: # Offense count: 2 # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames. -# AllowedNames: io, id, to, by, on, in, at +# AllowedNames: io, id, to, by, on, in, at, ip Naming/UncommunicativeMethodParamName: Exclude: - 'app/models/conference.rb' @@ -399,6 +500,304 @@ Naming/VariableNumber: Exclude: - 'spec/models/ticket_purchase_spec.rb' +# Offense count: 4 +# Cop supports --auto-correct. +Performance/InefficientHashSearch: + Exclude: + - 'app/controllers/admin/versions_controller.rb' + - 'app/helpers/versions_helper.rb' + +# Offense count: 31 +RSpec/AnyInstance: + Exclude: + - 'spec/controllers/admin/rooms_controller_spec.rb' + - 'spec/controllers/admin/sponsorship_levels_controller_spec.rb' + - 'spec/controllers/admin/targets_controller_spec.rb' + - 'spec/controllers/admin/tracks_controller_spec.rb' + - 'spec/controllers/admin/users_controller_spec.rb' + - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/controllers/proposals_controller_spec.rb' + - 'spec/controllers/tracks_controller_spec.rb' + +# Offense count: 327 +# Configuration parameters: Prefixes. +# Prefixes: when, with, without +RSpec/ContextWording: + Enabled: false + +# Offense count: 4 +RSpec/DescribeClass: + Exclude: + - 'spec/models/ability_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/booth_spec.rb' + - 'spec/models/registration_spec.rb' + +# Offense count: 73 +# Cop supports --auto-correct. +# Configuration parameters: SkipBlocks, EnforcedStyle. +# SupportedStyles: described_class, explicit +RSpec/DescribedClass: + Exclude: + - 'spec/mailers/mailbot_spec.rb' + - 'spec/models/cfp_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/role_spec.rb' + - 'spec/models/sponsorship_level_spec.rb' + - 'spec/models/survey_question_spec.rb' + - 'spec/models/target_spec.rb' + - 'spec/models/ticket_purchase_spec.rb' + - 'spec/models/ticket_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterExampleGroup: + Exclude: + - 'spec/controllers/admin/users_controller_spec.rb' + +# Offense count: 12 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterFinalLet: + Exclude: + - 'spec/controllers/admin/event_schedules_controller_spec.rb' + - 'spec/controllers/admin/users_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/features/conference_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/payment_spec.rb' + - 'spec/models/ticket_spec.rb' + +# Offense count: 16 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterHook: + Exclude: + - 'spec/controllers/admin/booths_controller_spec.rb' + - 'spec/controllers/admin/comments_controller_spec.rb' + - 'spec/controllers/admin/organizations_controller_spec.rb' + - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' + - 'spec/controllers/admin/users_controller_spec.rb' + - 'spec/features/organization_spec.rb' + - 'spec/features/roles_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/payment_spec.rb' + - 'spec/models/program_spec.rb' + +# Offense count: 9 +# Cop supports --auto-correct. +RSpec/EmptyLineAfterSubject: + Exclude: + - 'spec/models/ability_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/booth_spec.rb' + - 'spec/models/cfp_spec.rb' + - 'spec/models/event_spec.rb' + - 'spec/models/program_spec.rb' + - 'spec/models/registration_spec.rb' + - 'spec/models/survey_spec.rb' + - 'spec/models/track_spec.rb' + +# Offense count: 230 +# Configuration parameters: Max. +RSpec/ExampleLength: + Enabled: false + +# Offense count: 18 +# Cop supports --auto-correct. +# Configuration parameters: CustomTransform, IgnoredWords. +RSpec/ExampleWording: + Exclude: + - 'spec/controllers/admin/organizations_controller_spec.rb' + - 'spec/controllers/admin/registration_periods_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/helpers/events_helper_spec.rb' + - 'spec/helpers/format_helper_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/event_spec.rb' + - 'spec/models/ticket_purchase_spec.rb' + - 'spec/models/ticket_spec.rb' + +# Offense count: 38 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: method_call, block +RSpec/ExpectChange: + Exclude: + - 'spec/controllers/admin/booths_controller_spec.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/controllers/admin/event_schedules_controller_spec.rb' + - 'spec/controllers/admin/organizations_controller_spec.rb' + - 'spec/controllers/admin/registration_periods_controller_spec.rb' + - 'spec/controllers/admin/schedules_controller_spec.rb' + - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' + - 'spec/controllers/admin/users_controller_spec.rb' + - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/controllers/proposals_controller_spec.rb' + - 'spec/features/tracks_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/event_spec.rb' + - 'spec/models/user_spec.rb' + +# Offense count: 4 +# Configuration parameters: CustomTransform, IgnoreMethods. +RSpec/FilePath: + Exclude: + - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/controllers/physical_ticket_controller_spec.rb' + - 'spec/models/comment_spec.rb' + - 'spec/models/openid.rb' + +# Offense count: 174 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, each, example +RSpec/HookArgument: + Enabled: false + +# Offense count: 499 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: is_expected, should +RSpec/ImplicitExpect: + Enabled: false + +# Offense count: 48 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: single_line_only, disallow +RSpec/ImplicitSubject: + Exclude: + - 'spec/models/ability_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/booth_spec.rb' + - 'spec/models/campaign_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/event_type_spec.rb' + - 'spec/models/organization_spec.rb' + - 'spec/models/registration_period_spec.rb' + - 'spec/models/sponsor_spec.rb' + - 'spec/models/sponsorship_level_spec.rb' + - 'spec/models/target_spec.rb' + - 'spec/models/ticket_purchase_spec.rb' + - 'spec/models/ticket_spec.rb' + +# Offense count: 347 +# Configuration parameters: AssignmentOnly. +RSpec/InstanceVariable: + Enabled: false + +# Offense count: 5 +# Cop supports --auto-correct. +RSpec/LeadingSubject: + Exclude: + - 'spec/models/ability_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/models/ticket_spec.rb' + +# Offense count: 51 +RSpec/LetSetup: + Enabled: false + +# Offense count: 13 +# Configuration parameters: . +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + EnforcedStyle: receive + +# Offense count: 1 +RSpec/MultipleDescribes: + Exclude: + - 'spec/controllers/application_controller_spec.rb' + +# Offense count: 283 +# Configuration parameters: AggregateFailuresByDefault. +RSpec/MultipleExpectations: + Max: 106 + +# Offense count: 403 +RSpec/NamedSubject: + Exclude: + - 'spec/models/conference_spec.rb' + - 'spec/models/registration_spec.rb' + - 'spec/models/room_spec.rb' + - 'spec/models/track_spec.rb' + +# Offense count: 213 +RSpec/NestedGroups: + Max: 7 + +# Offense count: 93 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: not_to, to_not +RSpec/NotToNot: + Enabled: false + +# Offense count: 1 +RSpec/OverwritingSetup: + Exclude: + - 'spec/controllers/admin/booths_controller_spec.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: Strict, EnforcedStyle. +# SupportedStyles: inflected, explicit +RSpec/PredicateMatcher: + Exclude: + - 'spec/features/code_of_conduct_spec.rb' + +# Offense count: 4 +RSpec/RepeatedDescription: + Exclude: + - 'spec/models/conference_spec.rb' + +# Offense count: 2 +RSpec/RepeatedExample: + Exclude: + - 'spec/models/conference_spec.rb' + +# Offense count: 13 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: and_return, block +RSpec/ReturnFromStub: + Exclude: + - 'spec/helpers/events_helper_spec.rb' + - 'spec/models/target_spec.rb' + +# Offense count: 49 +RSpec/ScatteredLet: + Exclude: + - 'spec/models/ability_spec.rb' + - 'spec/models/admin_ability_spec.rb' + - 'spec/models/payment_spec.rb' + +# Offense count: 2 +RSpec/ScatteredSetup: + Exclude: + - 'spec/models/payment_spec.rb' + +# Offense count: 7 +RSpec/SubjectStub: + Exclude: + - 'spec/models/registration_spec.rb' + - 'spec/models/room_spec.rb' + - 'spec/models/track_spec.rb' + +# Offense count: 1 +# Configuration parameters: IgnoreSymbolicNames. +RSpec/VerifiedDoubles: + Exclude: + - 'spec/datatables/user_datatable_spec.rb' + +# Offense count: 1 +RSpec/VoidExpect: + Exclude: + - 'spec/models/conference_spec.rb' + # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, Include. @@ -408,17 +807,17 @@ Rails/ActionFilter: Exclude: - 'app/controllers/users/omniauth_callbacks_controller.rb' -# Offense count: 103 +# Offense count: 107 # Cop supports --auto-correct. Rails/ActiveRecordAliases: Enabled: false -# Offense count: 124 +# Offense count: 128 # Cop supports --auto-correct. Rails/ApplicationRecord: Enabled: false -# Offense count: 9 +# Offense count: 10 # Cop supports --auto-correct. # Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. Rails/Blank: @@ -429,7 +828,7 @@ Rails/Blank: - 'app/models/user.rb' - 'spec/factories/event_schedule.rb' -# Offense count: 19 +# Offense count: 20 # Configuration parameters: Include. # Include: db/migrate/*.rb Rails/CreateTableWithTimestamps: @@ -459,10 +858,14 @@ Rails/DynamicFindBy: - 'app/controllers/admin/events_controller.rb' - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' -# Offense count: 5 +# Offense count: 8 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: slashes, arguments Rails/FilePath: Exclude: - 'app/pdfs/ticket_pdf.rb' + - 'config/initializers/active_record_log_subscriber.rb' + - 'config/initializers/carrierwave.rb' - 'spec/features/lodgings_spec.rb' - 'spec/features/sponsor_spec.rb' - 'spec/spec_helper.rb' @@ -489,7 +892,7 @@ Rails/HasAndBelongsToMany: - 'app/models/registration.rb' - 'app/models/vchoice.rb' -# Offense count: 18 +# Offense count: 20 # Configuration parameters: Include. # Include: app/models/**/*.rb Rails/HasManyOrHasOneDependent: @@ -510,27 +913,14 @@ Rails/HasManyOrHasOneDependent: - 'app/models/visit.rb' - 'app/models/vposition.rb' -# Offense count: 254 +# Offense count: 256 # Cop supports --auto-correct. # Configuration parameters: Include. # Include: spec/**/*, test/**/* Rails/HttpPositionalArguments: Enabled: false -# Offense count: 8 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: numeric, symbolic -Rails/HttpStatus: - Exclude: - - 'app/controllers/admin/commercials_controller.rb' - - 'app/controllers/admin/event_schedules_controller.rb' - - 'app/controllers/admin/programs_controller.rb' - - 'app/controllers/admin/tracks_controller.rb' - - 'app/controllers/admin/venue_commercials_controller.rb' - - 'app/controllers/commercials_controller.rb' - -# Offense count: 10 +# Offense count: 12 # Configuration parameters: Include. # Include: app/models/**/*.rb Rails/InverseOf: @@ -548,6 +938,13 @@ Rails/LexicallyScopedActionFilter: Exclude: - 'app/controllers/registrations_controller.rb' +# Offense count: 1 +# Configuration parameters: Include. +# Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb +Rails/Output: + Exclude: + - 'config/environment.rb' + # Offense count: 4 Rails/OutputSafety: Exclude: @@ -561,7 +958,7 @@ Rails/PluralizationGrammar: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 4 +# Offense count: 3 # Cop supports --auto-correct. Rails/Presence: Exclude: @@ -569,7 +966,7 @@ Rails/Presence: - 'app/helpers/application_helper.rb' - 'app/models/user.rb' -# Offense count: 22 +# Offense count: 23 # Cop supports --auto-correct. # Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank. Rails/Present: @@ -581,6 +978,7 @@ Rails/Present: - 'app/models/event.rb' - 'app/models/program.rb' - 'app/models/venue.rb' + - 'config/routes.rb' # Offense count: 52 # Configuration parameters: Include. @@ -615,13 +1013,14 @@ Rails/SkipsModelValidations: - 'lib/tasks/user.rake' - 'spec/controllers/conferences_controller_spec.rb' -# Offense count: 50 +# Offense count: 51 # Configuration parameters: EnforcedStyle. # SupportedStyles: strict, flexible Rails/TimeZone: Exclude: - 'app/models/comment.rb' - 'app/models/conference.rb' + - 'config/environments/test.rb' - 'db/migrate/20180226032958_add_created_at_and_updated_at_to_event_types.rb' - 'db/migrate/20180313012253_add_timestamps_to_tickets.rb' - 'lib/tasks/dump_db.rake' @@ -636,6 +1035,13 @@ Security/Open: Exclude: - 'app/pdfs/ticket_pdf.rb' +# Offense count: 2 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: inline, group +Style/AccessModifierDeclarations: + Exclude: + - 'spec/factories/splashpages.rb' + # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle. @@ -656,13 +1062,15 @@ Style/ColonMethodCall: - 'app/models/commercial.rb' - 'app/models/contact.rb' -# Offense count: 3 +# Offense count: 5 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. # SupportedStyles: assign_to_condition, assign_inside_condition Style/ConditionalAssignment: Exclude: - 'app/helpers/format_helper.rb' + - 'config/environments/production.rb' + - 'config/initializers/airbrake.rb' - 'db/migrate/20140610165551_migrate_data_person_to_user.rb' - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' @@ -674,10 +1082,15 @@ Style/DateTime: - 'spec/models/conference_spec.rb' - 'spec/models/program_spec.rb' -# Offense count: 497 +# Offense count: 514 Style/Documentation: Enabled: false +# Offense count: 1 +Style/DoubleNegation: + Exclude: + - 'config/environments/production.rb' + # Offense count: 2 # Cop supports --auto-correct. Style/EmptyCaseCondition: @@ -706,21 +1119,37 @@ Style/EmptyMethod: - 'db/migrate/20130206192339_rename_attending_social_events_with_partner.rb' - 'db/migrate/20130216122155_set_registration_defaults_to_false.rb' -# Offense count: 2 +# Offense count: 4 # Cop supports --auto-correct. Style/Encoding: Exclude: - 'app/uploaders/picture_uploader.rb' + - 'config/initializers/formtastic.rb' + - 'config/initializers/money.rb' - 'spec/models/conference_spec.rb' -# Offense count: 2 +# Offense count: 10 # Cop supports --auto-correct. Style/ExpandPathArguments: Exclude: - 'Rakefile' + - 'bin/bundle' + - 'bin/rails' + - 'bin/rspec' + - 'bin/setup' + - 'bin/update' + - 'config/application.rb' + - 'config/environment.rb' - 'spec/spec_helper.rb' -# Offense count: 29 +# Offense count: 44 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle. +# SupportedStyles: when_needed, always, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 30 # Configuration parameters: MinBodyLength. Style/GuardClause: Enabled: false @@ -736,7 +1165,7 @@ Style/HashSyntax: - 'app/views/admin/registrations/index.xlsx.axlsx' - 'lib/tasks/user.rake' -# Offense count: 59 +# Offense count: 61 # Cop supports --auto-correct. Style/IfUnlessModifier: Enabled: false @@ -759,9 +1188,12 @@ Style/MethodDefParentheses: - 'app/models/user.rb' - 'lib/tasks/demo_data_for_development.rake' -# Offense count: 1 +# Offense count: 4 Style/MixinUsage: Exclude: + - 'bin/setup' + - 'bin/update' + - 'config/application.rb' - 'spec/spec_helper.rb' # Offense count: 7 @@ -797,27 +1229,47 @@ Style/NestedParenthesizedCalls: Style/Next: Enabled: false -# Offense count: 117 +# Offense count: 121 # Cop supports --auto-correct. # Configuration parameters: EnforcedOctalStyle. # SupportedOctalStyles: zero_with_o, zero_only Style/NumericLiteralPrefix: Exclude: + - 'config/environments/test.rb' - 'spec/controllers/admin/conferences_controller_spec.rb' - 'spec/controllers/conference_registration_controller_spec.rb' - 'spec/helpers/date_time_helper_spec.rb' - 'spec/models/conference_spec.rb' - 'spec/models/email_settings_spec.rb' - - 'spec/models/registration_spec.rb' - 'spec/serializers/conference_serializer_spec.rb' - 'spec/serializers/event_serializer_spec.rb' -# Offense count: 7 +# Offense count: 8 # Cop supports --auto-correct. # Configuration parameters: Strict. Style/NumericLiterals: MinDigits: 15 +# Offense count: 41 +# Cop supports --auto-correct. +# Configuration parameters: AutoCorrect, EnforcedStyle. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Exclude: + - 'spec/**/*' + - 'app/controllers/admin/conferences_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/date_time_helper.rb' + - 'app/helpers/format_helper.rb' + - 'app/models/cfp.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/program.rb' + - 'app/models/registration.rb' + - 'app/models/ticket_purchase.rb' + - 'app/models/user.rb' + - 'lib/tasks/events_registrations.rake' + # Offense count: 3 Style/OptionalArguments: Exclude: @@ -831,30 +1283,18 @@ Style/OrAssignment: # Offense count: 3 # Cop supports --auto-correct. -# Configuration parameters: AllowSafeAssignment. +# Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions. Style/ParenthesesAroundCondition: Exclude: - 'app/controllers/admin/base_controller.rb' - 'app/controllers/application_controller.rb' - 'app/helpers/format_helper.rb' -# Offense count: 15 +# Offense count: 28 # Cop supports --auto-correct. # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: - Exclude: - - 'Gemfile' - - 'app/controllers/admin/users_controller.rb' - - 'app/models/cfp.rb' - - 'app/models/comment.rb' - - 'app/models/commercial.rb' - - 'app/models/conference.rb' - - 'app/models/contact.rb' - - 'app/models/registration.rb' - - 'app/models/subscription.rb' - - 'app/models/track.rb' - - 'app/uploaders/picture_uploader.rb' - - 'spec/models/program_spec.rb' + Enabled: false # Offense count: 1 # Cop supports --auto-correct. @@ -883,13 +1323,14 @@ Style/RedundantParentheses: Exclude: - 'app/controllers/admin/base_controller.rb' -# Offense count: 2 +# Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, AllowInnerSlashes. # SupportedStyles: slashes, percent_r, mixed Style/RegexpLiteral: Exclude: - 'Guardfile' + - 'config/initializers/airbrake.rb' # Offense count: 2 # Cop supports --auto-correct. @@ -916,7 +1357,7 @@ Style/SingleLineMethods: Exclude: - 'Guardfile' -# Offense count: 16 +# Offense count: 672 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # SupportedStyles: single_quotes, double_quotes @@ -924,6 +1365,14 @@ Style/StringLiterals: Exclude: - 'Gemfile' - 'Vagrantfile' + - 'bin/rspec' + - 'bin/spring' + - 'config/deploy.rb' + - 'config/environments/production.rb' + - 'config/initializers/devise.rb' + - 'config/puma.rb' + - 'config/routes.rb' + - 'db/schema.rb' - 'lib/tasks/dump_db.rake' - 'lib/tasks/events_registrations.rake' - 'lib/tasks/factory_bot.rake' @@ -940,14 +1389,20 @@ Style/StringLiteralsInInterpolation: - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - 'lib/tasks/dump_db.rake' -# Offense count: 80 +# Offense count: 109 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, MinSize. # SupportedStyles: percent, brackets Style/SymbolArray: Enabled: false -# Offense count: 11 +# Offense count: 1 +# Cop supports --auto-correct. +Style/SymbolLiteral: + Exclude: + - 'config/deploy.rb' + +# Offense count: 10 # Cop supports --auto-correct. # Configuration parameters: IgnoredMethods. # IgnoredMethods: respond_to, define_method @@ -955,7 +1410,6 @@ Style/SymbolProc: Exclude: - 'app/controllers/admin/comments_controller.rb' - 'app/controllers/admin/questions_controller.rb' - - 'app/helpers/application_helper.rb' - 'app/models/ability.rb' - 'app/models/admin_ability.rb' - 'db/migrate/20140730104658_migrate_roles_for_cancancan.rb' @@ -989,13 +1443,26 @@ Style/TrailingCommaInHashLiteral: # Offense count: 1 # Cop supports --auto-correct. +Style/UnlessElse: + Exclude: + - 'config/routes.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/UnneededCondition: + Exclude: + - 'app/helpers/versions_helper.rb' + - 'app/models/ticket.rb' + +# Offense count: 8 +# Cop supports --auto-correct. # Configuration parameters: WordRegex. # SupportedStyles: percent, brackets Style/WordArray: EnforcedStyle: percent MinSize: 8 -# Offense count: 2861 +# Offense count: 3041 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. # URISchemes: http, https Metrics/LineLength: diff --git a/Gemfile b/Gemfile index dfc888c9..9c9ee365 100644 --- a/Gemfile +++ b/Gemfile @@ -238,6 +238,7 @@ group :development do gem 'spring-commands-rspec' # for static code analisys gem 'rubocop', require: false + gem 'rubocop-rspec' # as database gem 'sqlite3' # to open mails diff --git a/Gemfile.lock b/Gemfile.lock index e771e026..b8441bf2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -173,10 +173,10 @@ GEM errbase (0.1.0) erubis (2.7.0) execjs (2.7.0) - factory_bot (4.11.0) + factory_bot (4.11.1) activesupport (>= 3.0.0) - factory_bot_rails (4.11.0) - factory_bot (~> 4.11.0) + factory_bot_rails (4.11.1) + factory_bot (~> 4.11.1) railties (>= 3.0.0) faker (1.9.1) i18n (>= 0.7) @@ -235,6 +235,7 @@ GEM inversion (1.1.1) loggability (~> 0.12) iso-639 (0.2.8) + jaro_winkler (1.5.1) jquery-datatables-rails (3.4.0) actionpack (>= 3.1) jquery-rails @@ -338,7 +339,7 @@ GEM activerecord (>= 4.2, < 5.3) request_store (~> 1.1) parallel (1.12.1) - parser (2.5.1.0) + parser (2.5.1.2) ast (~> 2.4.0) pdf-core (0.2.5) phantomjs (2.1.1.0) @@ -351,7 +352,7 @@ GEM cliver (~> 0.3.1) multi_json (~> 1.0) websocket-driver (>= 0.2.0) - powerpack (0.1.1) + powerpack (0.1.2) prawn (1.0.0) pdf-core (~> 0.2.2) ttfunk (~> 1.1.1) @@ -427,8 +428,7 @@ GEM method_source rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - rainbow (2.2.2) - rake + rainbow (3.0.0) rake (12.3.1) rb-fsevent (0.10.2) rb-inotify (0.9.10) @@ -480,16 +480,19 @@ GEM rspec-mocks (~> 3.6.0) rspec-support (~> 3.6.0) rspec-support (3.6.0) - rubocop (0.55.0) + rubocop (0.58.2) + jaro_winkler (~> 1.5.1) parallel (~> 1.10) - parser (>= 2.5) + parser (>= 2.5, != 2.5.1.1) powerpack (~> 0.1) rainbow (>= 2.2.2, < 4.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) + rubocop-rspec (1.29.1) + rubocop (>= 0.58.0) ruby-oembed (0.12.0) ruby-openid (2.5.0) - ruby-progressbar (1.9.0) + ruby-progressbar (1.10.0) ruby_dep (1.5.0) rubyzip (1.2.2) safe_yaml (1.0.4) @@ -557,7 +560,7 @@ GEM unf (0.1.4) unf_ext unf_ext (0.0.7.5) - unicode-display_width (1.3.2) + unicode-display_width (1.4.0) unicode_utils (1.4.0) unobtrusive_flash (3.3.1) railties @@ -681,6 +684,7 @@ DEPENDENCIES rspec-activemodel-mocks rspec-rails (~> 3.5, >= 3.5.2) rubocop + rubocop-rspec ruby-oembed (~> 0.12.0) sass-rails (>= 4.0.2) selectize-rails @@ -705,4 +709,4 @@ RUBY VERSION ruby 2.5.0p0 BUNDLED WITH - 1.16.2 + 1.16.4