Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump rubocop to use `v0.50.x` #6368

Merged
merged 6 commits into from Sep 22, 2017

Conversation

@ashmaroli
Copy link
Member

ashmaroli commented Sep 15, 2017

Fixes #6367

Copy link
Member

pathawks left a comment

Thanks for taking the time to do this 🍻👍

@@ -86,7 +86,7 @@ def fsnotify_buggy?(_site)
def urls_only_differ_by_case(site)
urls_only_differ_by_case = false
urls = case_insensitive_urls(site.pages + site.docs_to_write, site.dest)
urls.each do |_case_insensitive_url, real_urls|
urls.each_value do |real_urls|

This comment has been minimized.

Copy link
@pathawks
Copy link
Member

parkr left a comment

Nice! One code update suggestion and some thoughts on the configuration changes. Instead of turning them off, it might be better to exclude certain files if we decide that the rule is helpful (most are).

@@ -42,12 +42,14 @@ def convert(content)
end

private
# rubocop:disable Performance/HashEachMethods
def make_accessible(hash = @config)
hash.keys.each do |key|

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

Can we use each_key here?

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

each_key broke our test-suite..

@@ -82,6 +86,12 @@ Metrics/ParameterLists:
Max: 4
Metrics/PerceivedComplexity:
Max: 8
Naming/FileName:
Enabled: false

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

What fails for this one?

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

From their docs,

This cop makes sure that Ruby source files have snake_case names. Ruby scripts (i.e. source files with a shebang in the first line) are ignored.

and flags us for the following:
- 'Gemfile'
- 'Rakefile'
- 'lib/theme_template/Gemfile'
- 'test/fixtures/test-dependency-theme/test-dependency-theme.gemspec'
- 'test/fixtures/test-theme/test-theme.gemspec'

which IMO is a bug because this cop existed as an enabled-by-default-cop earlier known as Style/FileName

This comment has been minimized.

Copy link
@parkr

parkr Sep 21, 2017

Member

Yeah... that looks like a bug. Weird.

Naming/FileName:
Enabled: false
Naming/HeredocDelimiterCase:
Enabled: false

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

We should enable this!

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

okay.. I'll go with enforcing uppercase (default)

Naming/HeredocDelimiterCase:
Enabled: false
Naming/HeredocDelimiterNaming:
Enabled: false

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

What fails for this?

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member
  • 'features/support/helpers.rb'
  • 'test/test_redcarpet.rb'
  • 'test/test_tags.rb'

are flagged for presence of EOS as the delimiter

@@ -109,7 +119,7 @@ Style/Documentation:
- !ruby/regexp /features\/.*.rb$/
Style/DoubleNegation:
Enabled: false
Style/FileName:
Style/Encoding:

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

Can we just exclude problematic files?

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

This cop flags files that contain the following magic comment because from Ruby 2.0+, UTF-8 is the default source file encoding:

# encoding: UTF-8

So, IMO, we switch to when_needed if we're to enable the cop -- only enforce an encoding comment if there are non-ASCII chars

This comment has been minimized.

Copy link
@parkr

parkr Sep 21, 2017

Member

Let's do when_needed, then!

Lint/UnreachableCode:
Severity: error
Lint/UselessAccessModifier:
Enabled: false
Lint/Void:
Enabled: false

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

What even is this? 😂

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

This cop checks for the use of a return with a value in a context where it will be ignored.
In our case specifically, this cop (incorrectly ?) flags Site#config= similar to the documented example

This comment has been minimized.

Copy link
@parkr

parkr Sep 21, 2017

Member

Oh we must return some value and it doesn't like that! We can enable it in a subsequent pass.

@@ -44,10 +44,14 @@ Layout/SpaceInsideBrackets:
Enabled: false
Lint/EndAlignment:
Severity: error
Lint/RescueWithoutErrorClass:
Enabled: false

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

Oooo we should enable this.

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

I wasn't sure about it though, since unnamed rescue means rescuing StandardError by default.

This comment has been minimized.

Copy link
@parkr

parkr Sep 21, 2017

Member

Yeah, but it's always better to rescue explicitly what you want to rescue instead of everything. We can do this in a subsequent pass.

@@ -21,7 +21,7 @@ Layout/EmptyLinesAroundAccessModifier:
Layout/EmptyLinesAroundModuleBody:
Enabled: false
Layout/EndOfLine:
EnforcedStyle: lf
EnforcedStyle: native

This comment has been minimized.

Copy link
@parkr

parkr Sep 15, 2017

Member

Done we want lf here?

This comment has been minimized.

Copy link
@ashmaroli

ashmaroli Sep 15, 2017

Author Member

Technically, we do.. but if a developer on Windows were to run script/fmt they'd unnecessarily get taxed by Rubocop. In my own experience, it has been irritating..
A properly configured Git on Windows automatically indexes files compatible for cross-platform use.

This comment has been minimized.

Copy link
@parkr

parkr Sep 21, 2017

Member

👍

@DirtyF
DirtyF approved these changes Sep 22, 2017
@pathawks

This comment has been minimized.

Copy link
Member

pathawks commented Sep 22, 2017

@jekyllbot: merge +dev

@jekyllbot jekyllbot merged commit 00bad8b into jekyll:master Sep 22, 2017
2 checks passed
2 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
jekyllbot added a commit that referenced this pull request Sep 22, 2017
@ashmaroli ashmaroli deleted the ashmaroli:bump-rubocop branch Sep 22, 2017
@jekyll jekyll locked and limited conversation to collaborators Jul 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
5 participants
You can’t perform that action at this time.