From 996fa6105c1334dd6ffa8d5925904f250f8af24f Mon Sep 17 00:00:00 2001 From: Josh Buker Date: Tue, 6 Feb 2018 18:08:34 -0800 Subject: [PATCH] Add rubocop config and todo (#107) * Add rubocop config and todo * Update changelog.md --- .rubocop.yml | 5 + .rubocop_todo.yml | 435 ++++++++++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 1 + 3 files changed, 441 insertions(+) create mode 100644 .rubocop.yml create mode 100644 .rubocop_todo.yml diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 00000000..67036565 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,5 @@ +# Use auto generated file to ignore existing warnings. +inherit_from: '.rubocop_todo.yml' + +AllCops: + TargetRubyVersion: 2.2 diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 00000000..c539bacd --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,435 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2018-02-03 14:20:34 -0800 using RuboCop version 0.51.0. +# 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: 1 +# Cop supports --auto-correct. +# Configuration parameters: Include, TreatCommentsAsGroupSeparators. +# Include: **/Gemfile, **/gems.rb +Bundler/OrderedGems: + Exclude: + - 'Gemfile' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: Include, TreatCommentsAsGroupSeparators. +# Include: **/*.gemspec +Gemspec/OrderedDependencies: + Exclude: + - 'sorcery.gemspec' + +# Offense count: 7 +# Cop supports --auto-correct. +Layout/EmptyLines: + Exclude: + - 'lib/generators/sorcery/templates/initializer.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Exclude: + - 'spec/rails_app/db/schema.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines +Layout/EmptyLinesAroundClassBody: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_braces +Layout/IndentHash: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + - 'lib/sorcery/providers/wechat.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# SupportedStyles: aligned, indented, indented_relative_to_receiver +Layout/MultilineMethodCallIndentation: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# SupportedStyles: aligned, indented +Layout/MultilineOperationIndentation: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Layout/SpaceAfterComma: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'spec/controllers/controller_oauth2_spec.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: space, no_space +Layout/SpaceAroundEqualsInParameterDefault: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 3 +# Cop supports --auto-correct. +# Configuration parameters: AllowForAlignment. +Layout/SpaceAroundOperators: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'spec/shared_examples/user_magic_login_shared_examples.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, SupportedStylesForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'lib/sorcery/providers/linkedin.rb' + +# Offense count: 8 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'lib/sorcery/providers/linkedin.rb' + - 'spec/shared_examples/user_magic_login_shared_examples.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'lib/sorcery/model/submodules/magic_login.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingBlankLines: + Exclude: + - 'lib/sorcery/providers/wechat.rb' + +# Offense count: 52 +# Cop supports --auto-correct. +Layout/TrailingWhitespace: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + - 'spec/active_record/user_magic_login_spec.rb' + - 'spec/rails_app/app/mailers/sorcery_mailer.rb' + - 'spec/rails_app/db/migrate/magic_login/20170924151831_add_magic_login_to_users.rb' + - 'spec/shared_examples/user_magic_login_shared_examples.rb' + +# Offense count: 1 +Lint/AmbiguousBlockAssociation: + Exclude: + - 'spec/shared_examples/user_shared_examples.rb' + +# Offense count: 28 +# Configuration parameters: AllowSafeAssignment. +Lint/AssignmentInCondition: + Exclude: + - 'lib/sorcery/controller/submodules/external.rb' + - 'lib/sorcery/providers/vk.rb' + - 'spec/rails_app/app/controllers/sorcery_controller.rb' + +# Offense count: 1 +Lint/DuplicateMethods: + Exclude: + - 'lib/sorcery/model/config.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Lint/EndAlignment: + Exclude: + - 'lib/sorcery/model/config.rb' + +# Offense count: 5 +Lint/HandleExceptions: + Exclude: + - 'lib/sorcery/controller.rb' + - 'lib/sorcery/model.rb' + - 'spec/rails_app/config/application.rb' + - 'spec/shared_examples/user_shared_examples.rb' + +# Offense count: 1 +Lint/NonLocalExitFromIterator: + Exclude: + - 'lib/sorcery/controller.rb' + +# Offense count: 1 +Lint/ParenthesesAsGroupedExpression: + Exclude: + - 'spec/shared_examples/user_remember_me_shared_examples.rb' + +# Offense count: 3 +Lint/RescueWithoutErrorClass: + Exclude: + - 'lib/sorcery/controller/submodules/external.rb' + - 'spec/shared_examples/user_shared_examples.rb' + - 'spec/spec_helper.rb' + +# Offense count: 7 +Lint/UselessAssignment: + Exclude: + - 'lib/sorcery/controller/submodules/external.rb' + - 'lib/sorcery/model/submodules/external.rb' + - 'spec/controllers/controller_oauth2_spec.rb' + - 'spec/controllers/controller_remember_me_spec.rb' + +# Offense count: 2 +Lint/Void: + Exclude: + - 'spec/controllers/controller_remember_me_spec.rb' + +# Offense count: 28 +Metrics/AbcSize: + Max: 36 + +# Offense count: 73 +# Configuration parameters: CountComments, ExcludedMethods. +Metrics/BlockLength: + Max: 391 + +# Offense count: 1 +# Configuration parameters: CountComments. +Metrics/ClassLength: + Max: 303 + +# Offense count: 3 +Metrics/CyclomaticComplexity: + Max: 9 + +# Offense count: 833 +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# URISchemes: http, https +Metrics/LineLength: + Max: 323 + +# Offense count: 33 +# Configuration parameters: CountComments. +Metrics/MethodLength: + Max: 39 + +# Offense count: 1 +Metrics/PerceivedComplexity: + Max: 9 + +# Offense count: 11 +Naming/AccessorMethodName: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'lib/sorcery/controller/submodules/remember_me.rb' + - 'lib/sorcery/model/submodules/activity_logging.rb' + - 'lib/sorcery/protocols/oauth.rb' + - 'lib/sorcery/providers/jira.rb' + - 'lib/sorcery/providers/linkedin.rb' + - 'lib/sorcery/providers/twitter.rb' + - 'lib/sorcery/providers/xing.rb' + +# Offense count: 2 +# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros. +# NamePrefix: is_, has_, have_ +# NamePrefixBlacklist: is_, has_, have_ +# NameWhitelist: is_a? +# MethodDefinitionMacros: define_method, define_singleton_method +Naming/PredicateName: + Exclude: + - 'spec/**/*' + - 'lib/sorcery/model/submodules/remember_me.rb' + - 'lib/sorcery/providers/base.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: always, conditionals +Style/AndOr: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: braces, no_braces, context_dependent +Style/BracesAroundHashParameters: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + +# Offense count: 1 +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: nested, compact +Style/ClassAndModuleChildren: + Exclude: + - 'lib/sorcery/test_helpers/internal.rb' + +# Offense count: 2 +Style/DateTime: + Exclude: + - 'spec/shared_examples/user_magic_login_shared_examples.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/Dir: + Exclude: + - 'lib/sorcery/controller/submodules/external.rb' + +# Offense count: 52 +Style/Documentation: + Enabled: false + +# Offense count: 2 +Style/DoubleNegation: + Exclude: + - 'lib/generators/sorcery/helpers.rb' + - 'lib/sorcery/controller.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: format, sprintf, percent +Style/FormatString: + Exclude: + - 'lib/generators/sorcery/install_generator.rb' + +# Offense count: 16 +# Configuration parameters: MinBodyLength. +Style/GuardClause: + Exclude: + - 'lib/generators/sorcery/install_generator.rb' + - 'lib/sorcery/controller.rb' + - 'lib/sorcery/controller/submodules/external.rb' + - 'lib/sorcery/model.rb' + - 'lib/sorcery/model/submodules/brute_force_protection.rb' + - 'lib/sorcery/test_helpers/internal.rb' + - 'lib/sorcery/test_helpers/internal/rails.rb' + - 'spec/rails_app/app/controllers/sorcery_controller.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +Style/HashSyntax: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'spec/controllers/controller_oauth2_spec.rb' + - 'spec/rails_app/db/schema.rb' + +# Offense count: 1 +Style/MultipleComparison: + Exclude: + - 'lib/generators/sorcery/install_generator.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +Style/MutableConstant: + Exclude: + - 'lib/sorcery/test_helpers/internal/rails.rb' + - 'lib/sorcery/version.rb' + +# Offense count: 11 +# Cop supports --auto-correct. +# Configuration parameters: Strict. +Style/NumericLiterals: + MinDigits: 18 + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: AllowSafeAssignment. +Style/ParenthesesAroundCondition: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 5 +# Cop supports --auto-correct. +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'lib/sorcery/test_helpers/internal/rails.rb' + - 'spec/controllers/controller_oauth2_spec.rb' + - 'spec/rails_app/config/application.rb' + - 'spec/sorcery_crypto_providers_spec.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +Style/RedundantParentheses: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +Style/RedundantSelf: + Exclude: + - 'lib/sorcery/model/submodules/magic_login.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed +Style/RegexpLiteral: + Exclude: + - 'spec/rails_app/config/application.rb' + +# Offense count: 89 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'lib/sorcery/adapters/mongoid_adapter.rb' + - 'lib/sorcery/model/submodules/magic_login.rb' + - 'spec/controllers/controller_oauth2_spec.rb' + - 'spec/rails_app/db/schema.rb' + - 'spec/shared_examples/user_magic_login_shared_examples.rb' + +# Offense count: 22 +# Cop supports --auto-correct. +# Configuration parameters: MinSize, SupportedStyles. +# SupportedStyles: percent, brackets +Style/SymbolArray: + EnforcedStyle: brackets + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleForMultiline, SupportedStylesForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInArguments: + Exclude: + - 'lib/sorcery/providers/wechat.rb' + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyleForMultiline, SupportedStylesForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, no_comma +Style/TrailingCommaInLiteral: + Exclude: + - 'lib/sorcery/providers/wechat.rb' + - 'spec/controllers/controller_oauth2_spec.rb' diff --git a/CHANGELOG.md b/CHANGELOG.md index 54e4c3b4..392f639b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * Add configuration for token randomness [#67](https://github.com/Sorcery/sorcery/pull/67) * Add facebook user_info_path option to initializer.rb [#63](https://github.com/Sorcery/sorcery/pull/63) * Add new function: `build_from` (allows building a user instance from OAuth without saving) [#54](https://github.com/Sorcery/sorcery/pull/54) +* Add rubocop configuration and TODO list [#107](https://github.com/Sorcery/sorcery/pull/107) ## 0.11.0