aboutsummaryrefslogtreecommitdiffstats
path: root/.rubocop.yml
diff options
context:
space:
mode:
authorCristian Bica <cristian.bica@gmail.com>2017-07-14 01:09:56 +0300
committerDavid Heinemeier Hansson <david@loudthinking.com>2017-07-14 00:09:56 +0200
commit6dcdc5c9abb8e4e93a2c582b11ff4bb77d62ed3b (patch)
treead3bdb1e754d6207df0656d2704ae82b36c785cb /.rubocop.yml
parent14e6386b3ceb0ab1d13ddd1353722d56785f9007 (diff)
downloadrails-6dcdc5c9abb8e4e93a2c582b11ff4bb77d62ed3b.tar.gz
rails-6dcdc5c9abb8e4e93a2c582b11ff4bb77d62ed3b.tar.bz2
rails-6dcdc5c9abb8e4e93a2c582b11ff4bb77d62ed3b.zip
Added rubocop / codeclimate config and fixed current offenses (#45)
Diffstat (limited to '.rubocop.yml')
-rw-r--r--.rubocop.yml125
1 files changed, 125 insertions, 0 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
new file mode 100644
index 0000000000..7b4478d3bd
--- /dev/null
+++ b/.rubocop.yml
@@ -0,0 +1,125 @@
+AllCops:
+ TargetRubyVersion: 2.3
+ # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
+ # to ignore them, so only the ones explicitly set in this file are enabled.
+ DisabledByDefault: true
+ Exclude:
+ - '**/templates/**/*'
+ - '**/vendor/**/*'
+ - 'actionpack/lib/action_dispatch/journey/parser.rb'
+
+# Prefer &&/|| over and/or.
+Style/AndOr:
+ Enabled: true
+
+# Do not use braces for hash literals when they are the last argument of a
+# method call.
+Style/BracesAroundHashParameters:
+ Enabled: true
+ EnforcedStyle: context_dependent
+
+# Align `when` with `case`.
+Style/CaseIndentation:
+ Enabled: true
+
+# Align comments with method definitions.
+Style/CommentIndentation:
+ Enabled: true
+
+# No extra empty lines.
+Style/EmptyLines:
+ Enabled: false
+
+# In a regular class definition, no empty lines around the body.
+Style/EmptyLinesAroundClassBody:
+ Enabled: true
+
+# In a regular method definition, no empty lines around the body.
+Style/EmptyLinesAroundMethodBody:
+ Enabled: true
+
+# In a regular module definition, no empty lines around the body.
+Style/EmptyLinesAroundModuleBody:
+ Enabled: true
+
+# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.
+Style/HashSyntax:
+ Enabled: true
+
+# Method definitions after `private` or `protected` isolated calls need one
+# extra level of indentation.
+Style/IndentationConsistency:
+ Enabled: true
+ EnforcedStyle: rails
+
+# Two spaces, no tabs (for indentation).
+Style/IndentationWidth:
+ Enabled: true
+
+Style/SpaceAfterColon:
+ Enabled: true
+
+Style/SpaceAfterComma:
+ Enabled: true
+
+Style/SpaceAroundEqualsInParameterDefault:
+ Enabled: true
+
+Style/SpaceAroundKeyword:
+ Enabled: true
+
+Style/SpaceAroundOperators:
+ Enabled: true
+
+Style/SpaceBeforeFirstArg:
+ Enabled: true
+
+# Defining a method with parameters needs parentheses.
+Style/MethodDefParentheses:
+ Enabled: true
+
+# Use `foo {}` not `foo{}`.
+Style/SpaceBeforeBlockBraces:
+ Enabled: true
+
+# Use `foo { bar }` not `foo {bar}`.
+Style/SpaceInsideBlockBraces:
+ Enabled: true
+
+# Use `{ a: 1 }` not `{a:1}`.
+Style/SpaceInsideHashLiteralBraces:
+ Enabled: true
+
+Style/SpaceInsideParens:
+ Enabled: true
+
+# Check quotes usage according to lint rule below.
+Style/StringLiterals:
+ Enabled: true
+ EnforcedStyle: double_quotes
+
+# Detect hard tabs, no hard tabs.
+Style/Tab:
+ Enabled: true
+
+# Blank lines should not have any spaces.
+Style/TrailingBlankLines:
+ Enabled: true
+
+# No trailing whitespace.
+Style/TrailingWhitespace:
+ Enabled: true
+
+# Use quotes for string literals when they are enough.
+Style/UnneededPercentQ:
+ Enabled: true
+
+# Align `end` with the matching keyword or starting expression except for
+# assignments, where it should be aligned with the LHS.
+Lint/EndAlignment:
+ Enabled: true
+ EnforcedStyleAlignWith: variable
+
+# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.
+Lint/RequireParentheses:
+ Enabled: true