summaryrefslogtreecommitdiff
path: root/.rubocop.yml
diff options
context:
space:
mode:
authorMichael Herold <michael.j.herold@gmail.com>2018-02-03 10:23:14 -0600
committerMichael Herold <michael.j.herold@gmail.com>2018-06-17 11:04:56 -0500
commit5a6ffc7e2df076c266c322ae9272b098b3ab40ed (patch)
tree578b274928ce6ac710922c85d050771f52753736 /.rubocop.yml
parent8fc10095fc409f4db495713c92c0cf8e31d3bfc1 (diff)
downloadhashie-5a6ffc7e2df076c266c322ae9272b098b3ab40ed.tar.gz
Update Rubocop and address the addressable todos
This is a big step forward in our Rubocop setup. I addressed all of the todos from the current version of Rubocop that made sense to. The only things that remain are metrics and one cop that relies on the line length metric to work. I made some judgment calls on disabling a few cops: 1. The `Layout/IndentHeredoc` cop wants you to either use the squiggly heredoc from Ruby 2.3 or introduce a library. Since we are a low-level library that is used as a transitive dependency, we cannot introduce another library as a dependence, so that option is out. Also, we support Rubies back to 2.0 currently, so using the squiggly heredoc isn't an option. Once we remove support for Rubies older than 2.3, we can switch to the squiggly heredoc cop. 2. The `Naming/FileName` cop was reporting false positives for a few files in the repository, so I disabled it on those files. 3. The `Style/DoubleNegation` cop reports lints on a few cases where we use double negation. Given the very generic nature of Hashie, the double-negation is the easiest, clearest way to express that we want an item to be a Boolean. I disabled the cop because we exist in the gray area where this makes sense.
Diffstat (limited to '.rubocop.yml')
-rw-r--r--.rubocop.yml17
1 files changed, 16 insertions, 1 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index f344b1b..d348e7d 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -4,7 +4,22 @@ AllCops:
- Rakefile
Exclude:
- .bundle/**/*
- - bin/**/*
- vendor/**/*
inherit_from: .rubocop_todo.yml
+
+# Disabled until we can use the squiggly heredoc (after deprecating Ruby <2.3)
+Layout/IndentHeredoc:
+ Enabled: false
+
+Naming/FileName:
+ Exclude:
+ - 'Dangerfile'
+ - '**/Gemfile'
+ - '**/Rakefile'
+
+# Disabled because of the very generic nature of Hashie. In the cases where we
+# use double negation, there isn't a means that as succinct of doing the type of
+# boolean casting that we do.
+Style/DoubleNegation:
+ Enabled: false