diff --git a/.rubocop.yml b/.rubocop.yml index 6653aea..3d4dd33 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,4 +1,5 @@ -inherit_gem: - rubocop-github: - - config/default.yml - - config/rails.yml \ No newline at end of file + +inherit_from: + - ./config/rubocop/default.yml + - ./config/rubocop/rails.yml + diff --git a/Gemfile b/Gemfile index a41aaa7..fbb616e 100644 --- a/Gemfile +++ b/Gemfile @@ -32,7 +32,7 @@ group :development, :mysql do gem 'travis-lint' gem 'better_errors' gem 'binding_of_caller' - gem 'rubocop-github' + gem 'rubocop' end gem 'simplecov', :require => false, :group => :test diff --git a/Gemfile.lock b/Gemfile.lock index 53c73c4..6510841 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -269,8 +269,6 @@ GEM rainbow (>= 2.2.2, < 3.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) - rubocop-github (0.5.0) - rubocop (~> 0.49) ruby-prof (0.16.2) ruby-progressbar (1.9.0) ruby_dep (1.5.0) @@ -362,7 +360,7 @@ DEPENDENCIES rb-fsevent responders rspec-rails - rubocop-github + rubocop ruby-prof sass-rails simplecov diff --git a/config/rubocop/default.yml b/config/rubocop/default.yml new file mode 100644 index 0000000..c2c555b --- /dev/null +++ b/config/rubocop/default.yml @@ -0,0 +1,316 @@ +require: rubocop/cop/github + +AllCops: + DisabledByDefault: true + +Bundler/DuplicatedGem: + Enabled: true + +Bundler/OrderedGems: + Enabled: true + +Lint/BlockAlignment: + Enabled: true + +Lint/CircularArgumentReference: + Enabled: true + +Lint/ConditionPosition: + Enabled: true + +Lint/Debugger: + Enabled: true + +Lint/DefEndAlignment: + Enabled: true + +Lint/DeprecatedClassMethods: + Enabled: true + +Lint/DuplicateMethods: + Enabled: true + +Lint/DuplicatedKey: + Enabled: true + +Lint/EachWithObjectArgument: + Enabled: true + +Lint/ElseLayout: + Enabled: true + +Lint/EmptyEnsure: + Enabled: true + +Lint/EndInMethod: + Enabled: true + +Lint/EmptyInterpolation: + Enabled: true + +Lint/EndAlignment: + Enabled: false + +Lint/EnsureReturn: + Enabled: true + +Lint/FloatOutOfRange: + Enabled: true + +Lint/FormatParameterMismatch: + Enabled: true + +Style/HashSyntax: + Enabled: true + EnforcedStyle: ruby19 + +Lint/LiteralInInterpolation: + Enabled: true + +Lint/Loop: + Enabled: true + +Lint/NextWithoutAccumulator: + Enabled: true + +Lint/RandOne: + Enabled: true + +Lint/RequireParentheses: + Enabled: true + +Lint/RescueException: + Enabled: true + +Lint/StringConversionInInterpolation: + Enabled: true + +Lint/UnderscorePrefixedVariableName: + Enabled: true + +Lint/UnneededDisable: + Enabled: true + +Lint/UnneededSplatExpansion: + Enabled: true + +Lint/UnreachableCode: + Enabled: true + +Lint/UselessComparison: + Enabled: true + +Lint/UselessSetterCall: + Enabled: true + +Lint/Void: + Enabled: true + +Metrics/AbcSize: + Enabled: false + +Metrics/BlockLength: + Enabled: false + +Metrics/BlockNesting: + Enabled: false + +Metrics/ClassLength: + Enabled: false + +Metrics/CyclomaticComplexity: + Enabled: false + +Metrics/LineLength: + Enabled: false + +Metrics/MethodLength: + Enabled: false + +Metrics/ModuleLength: + Enabled: false + +Metrics/ParameterLists: + Enabled: false + +Metrics/PerceivedComplexity: + Enabled: false + +Performance/CaseWhenSplat: + Enabled: false + +Performance/Count: + Enabled: true + +Performance/Detect: + Enabled: true + +Performance/DoubleStartEndWith: + Enabled: true + +Performance/EndWith: + Enabled: true + +Performance/FlatMap: + Enabled: true + +Performance/HashEachMethods: + Enabled: true + +Performance/LstripRstrip: + Enabled: true + +Performance/RangeInclude: + Enabled: false + +Performance/RedundantMatch: + Enabled: false + +Performance/RedundantMerge: + Enabled: true + MaxKeyValuePairs: 1 + +Performance/RedundantSortBy: + Enabled: true + +Performance/ReverseEach: + Enabled: true + +Performance/Sample: + Enabled: true + +Performance/Size: + Enabled: true + +Performance/StartWith: + Enabled: true + +Security/Eval: + Enabled: true + +Style/ArrayJoin: + Enabled: true + +Style/AsciiIdentifiers: + Enabled: true + +Style/BeginBlock: + Enabled: true + +Style/BlockComments: + Enabled: true + +Layout/BlockEndNewline: + Enabled: true + +Style/CaseEquality: + Enabled: true + +Style/CharacterLiteral: + Enabled: true + +Style/ClassAndModuleCamelCase: + Enabled: true + +Style/ClassMethods: + Enabled: true + +Style/Copyright: + Enabled: false + +Style/DefWithParentheses: + Enabled: true + +Style/EndBlock: + Enabled: true + +Layout/EndOfLine: + Enabled: true + +Style/FileName: + Enabled: true + +Style/FlipFlop: + Enabled: true + +Style/For: + Enabled: true + +Style/FrozenStringLiteralComment: + Enabled: true + +Layout/InitialIndentation: + Enabled: true + +Style/LambdaCall: + Enabled: true + +Style/MethodCallWithoutArgsParentheses: + Enabled: true + +Style/MethodDefParentheses: + Enabled: true + +Style/MethodName: + Enabled: true + +Style/MultilineIfThen: + Enabled: true + +Style/NilComparison: + Enabled: true + +Style/Not: + Enabled: true + +Style/OneLineConditional: + Enabled: true + +Layout/SpaceAfterMethodName: + Enabled: true + +Layout/SpaceAfterColon: + Enabled: true + +Layout/SpaceAfterComma: + Enabled: true + +Layout/SpaceAfterNot: + Enabled: true + +Layout/SpaceAfterSemicolon: + Enabled: true + +Layout/SpaceAroundBlockParameters: + Enabled: true + +Layout/SpaceAroundEqualsInParameterDefault: + Enabled: true + +Layout/SpaceInsideArrayPercentLiteral: + Enabled: true + +Layout/SpaceInsideBrackets: + Enabled: true + +Layout/SpaceInsideParens: + Enabled: true + +Layout/SpaceInsideRangeLiteral: + Enabled: true + +Style/StabbyLambdaParentheses: + Enabled: true + +Style/StringLiterals: + Enabled: true + EnforcedStyle: double_quotes + +Layout/Tab: + Enabled: true + +Layout/TrailingBlankLines: + Enabled: true + +Layout/TrailingWhitespace: + Enabled: true \ No newline at end of file diff --git a/config/rubocop/rails.yml b/config/rubocop/rails.yml new file mode 100644 index 0000000..975c571 --- /dev/null +++ b/config/rubocop/rails.yml @@ -0,0 +1,118 @@ +Rails: + Enabled: true + +Rails/FindEach: + Enabled: false + +Rails/OutputSafety: + Enabled: true + +Rails/PluralizationGrammar: + Enabled: true + +Rails/RequestReferer: + Enabled: true + EnforcedStyle: referrer + +Rails/ScopeArgs: + Enabled: true + +Rails/UniqBeforePluck: + Enabled: true + +GitHub/RailsApplicationRecord: + Enabled: true + +GitHub/RailsControllerRenderActionSymbol: + Enabled: true + Include: + - 'app/controllers/**/*.rb' + +GitHub/RailsControllerRenderLiteral: + Enabled: true + StyleGuide: https://github.com/github/rubocop-github/blob/master/guides/rails-render-literal.md + Include: + - 'app/controllers/**/*.rb' + +GitHub/RailsControllerRenderPathsExist: + Enabled: true + ViewPath: + - 'app/views' + Include: + - 'app/controllers/**/*.rb' + +GitHub/RailsControllerRenderShorthand: + Enabled: true + StyleGuide: https://github.com/github/rubocop-github/blob/master/guides/rails-controller-render-shorthand.md + Include: + - 'app/controllers/**/*.rb' + +GitHub/RailsRenderInline: + Enabled: true + StyleGuide: https://github.com/github/rubocop-github/blob/master/guides/rails-controller-render-inline.md + Include: + - 'app/controllers/**/*.rb' + - 'app/helpers/**/*.rb' + - 'app/view_models/**/*.rb' + - 'app/views/**/*.erb' + +GitHub/RailsRenderObjectCollection: + Enabled: false + +GitHub/RailsViewRenderLiteral: + Enabled: true + StyleGuide: https://github.com/github/rubocop-github/blob/master/guides/rails-render-literal.md + Include: + - 'app/helpers/**/*.rb' + - 'app/view_models/**/*.rb' + - 'app/views/**/*.erb' + +GitHub/RailsViewRenderPathsExist: + Enabled: true + ViewPath: + - 'app/views' + Include: + - 'app/helpers/**/*.rb' + - 'app/view_models/**/*.rb' + - 'app/views/**/*.erb' + +GitHub/RailsViewRenderShorthand: + Enabled: true + Include: + - 'app/helpers/**/*.rb' + - 'app/view_models/**/*.rb' + - 'app/views/**/*.erb' + +# Exclude Rails ERB files from incompatible cops + +Lint/BlockAlignment: + Exclude: + - 'app/views/**/*.erb' + +Style/For: + Exclude: + - 'app/views/**/*.erb' + +Style/OneLineConditional: + Exclude: + - 'app/views/**/*.erb' + +Style/Semicolon: + Exclude: + - 'app/views/**/*.erb' + +Layout/SpaceInsideParens: + Exclude: + - 'app/views/**/*.erb' + +Style/StringLiterals: + Exclude: + - 'app/views/**/*.erb' + +Layout/TrailingBlankLines: + Exclude: + - 'app/views/**/*.erb' + +Layout/TrailingWhitespace: + Exclude: + - 'app/views/**/*.erb' \ No newline at end of file