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

Rubocop >= 0.36 AttributeError: 'NoneType' object has no attribute 'rfind' #45

Open
spilliton opened this issue Jun 15, 2016 · 9 comments

Comments

@spilliton
Copy link

spilliton commented Jun 15, 2016

  • Operating System - OSX El Capitan 10.11.3
  • Sublime Text version - Build 3114
  • I'm using rvm with the following config in sublime
{
  "rubocop_command": "",
  "check_for_rvm": true,
  "rvm_auto_ruby_path":  "~/.rvm/bin/rvm-auto-ruby",
  "check_for_rbenv": false,
  "rbenv_path":  "~/.rbenv/bin/rbenv",
  "mark_issues_in_view": true,
  "show_auto_correct_warning": true,
  "rubocop_config_file": ""
}
Steps to reproduce:
  1. From osx console gem install rubocop -v 0.35.0
  2. Edit a ruby file in sublime so there are obvious errors and notice the underline squiggles
  3. From osx console gem install rubocop -v 0.36.0
  4. Edit a ruby file in sublime so there are obvious errors and notice there are no squiggles.
  5. Open the sublime console (Cntrl+`) and notice the following message:
  6. Uninstall 0.36.0 and it starts working again
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 258, in on_load_async
    callback.on_load_async(v)
  File "rubocop_listener in /Users/zkloepping/Library/Application Support/Sublime Text 3/Installed Packages/RuboCop.sublime-package", line 132, in on_load_async
  File "rubocop_listener in /Users/zkloepping/Library/Application Support/Sublime Text 3/Installed Packages/RuboCop.sublime-package", line 119, in do_in_file_check
  File "rubocop_listener in /Users/zkloepping/Library/Application Support/Sublime Text 3/Installed Packages/RuboCop.sublime-package", line 113, in mark_issues
  File "rubocop_listener in /Users/zkloepping/Library/Application Support/Sublime Text 3/Installed Packages/RuboCop.sublime-package", line 58, in set_marks_by_results
  File "./python3.3/posixpath.py", line 142, in basename
AttributeError: 'NoneType' object has no attribute 'rfind'
@pderichs
Copy link
Owner

pderichs commented Jun 22, 2016

Hi,

thanks for the detailed report.

Unfortunately I was not able to reproduce the issue with version 0.40.0 of rubocop (tested on Windows 10 and Mac OS, with Sublime Text - Build 3114).

Can you verify the problem is still present when you update rubocop to 0.40.0?

Thanks.

@spilliton
Copy link
Author

Thanks for trying to reproduce the issue. It still happens to me on 0.40.0. Could this maybe be a python version issue? I show the following in an OSX console:

$ python -V
Python 2.7.10

@frantufro
Copy link

frantufro commented Aug 3, 2016

I started having this issue a few days ago. Probably an OSX update problem, which indeed may be related to the python version chaning. I also have Python 2.7.10 on OSX 10.11.6 (15G31)
Rubocop is 0.40.0 and sublime is Build 3114

@JoshMcKin
Copy link

@pderichs, I too have this issue and have Python 2.7.10. What version of python are u running?

@pderichs
Copy link
Owner

pderichs commented Aug 13, 2016

Hi,

@JoshMcKin I am running python 2.7.12.

I tried to reproduce the issue a second time, but unfortunately everything worked fine for me. So let's check whether there is a difference in our setup.

Here is my setup (should be the latest / stable versions):

Versions:
RuboCop Version: 0.42.0
ST: 3114
rvm: 1.27.0
ruby: 2.3.1p112

My plugin configuration looks like this:

{
  "rubocop_command": "",
  "check_for_rvm": true,
  "check_for_rbenv": false,
  "mark_issues_in_view": true,
  "show_auto_correct_warning": true,
  "rubocop_config_file": ""
}

Please try again with the same setup.

Thanks.

@JoshMcKin
Copy link

@pderichs I think the problem is probably related to our .rubocop.yml. It has some legacy settings that in other IDE pluggins show error messages when loaded.

@pderichs
Copy link
Owner

pderichs commented Sep 3, 2016

Can you share your rubocop.yml?

@cgat
Copy link

cgat commented Jul 30, 2018

For what it's worth, I'm running into the same issue. My rubocop.yml is below. Using rubcop 0.57.2
python 2.7.15

AllCops:
  Exclude:
    - db/schema.rb
    - bin/*
    - Rakefile
    - Guardfile
    - Gemfile
    - config/initializers/simple_form.rb

Naming/AccessorMethodName:
  Description: Check the naming of accessor methods for get_/set_.
  Enabled: false

Style/Alias:
  Description: 'Use alias_method instead of alias.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method'
  Enabled: false

Layout/AlignParameters:
  Description: 'Here we check if the parameters on a multi-line method call or definition are aligned.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-double-indent'
  Enabled: false

Style/ArrayJoin:
  Description: 'Use Array#join instead of Array#*.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#array-join'
  Enabled: false

Style/AsciiComments:
  Description: 'Use only ascii symbols in comments.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments'
  Enabled: false

Naming/AsciiIdentifiers:
  Description: 'Use only ascii symbols in identifiers.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers'
  Enabled: false

Style/Attr:
  Description: 'Checks for uses of Module#attr.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr'
  Enabled: false

Metrics/BlockNesting:
  Description: 'Avoid excessive block nesting'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#three-is-the-number-thou-shalt-count'
  Enabled: false

Metrics/BlockLength:
  Enabled: false

Style/CaseEquality:
  Description: 'Avoid explicit use of the case equality operator(===).'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-case-equality'
  Enabled: false

Style/CharacterLiteral:
  Description: 'Checks for uses of character literals.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals'
  Enabled: false

Style/ClassAndModuleChildren:
  Description: 'Checks style of children classes and modules.'
  Enabled: false

Metrics/ClassLength:
  Description: 'Avoid classes longer than 100 lines of code.'
  Enabled: false

Metrics/ModuleLength:
  Description: 'Avoid modules longer than 100 lines of code.'
  Enabled: false

Style/ClassVars:
  Description: 'Avoid the use of class variables.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars'
  Enabled: false

Style/CollectionMethods:
  Enabled: true
  PreferredMethods:
    find: detect
    inject: reduce
    collect: map
    find_all: select

Style/ColonMethodCall:
  Description: 'Do not use :: for method call.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#double-colons'
  Enabled: false

Style/CommentAnnotation:
  Description: >-
                 Checks formatting of special comments
                 (TODO, FIXME, OPTIMIZE, HACK, REVIEW).
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#annotate-keywords'
  Enabled: false

Metrics/AbcSize:
  Description: >-
                 A calculated magnitude based on number of assignments,
                 branches, and conditions.
  Enabled: false

Metrics/CyclomaticComplexity:
  Description: >-
                 A complexity metric that is strongly correlated to the number
                 of test cases needed to validate a method.
  Enabled: false

Rails/Delegate:
  Description: 'Prefer delegate method for delegations.'
  Enabled: false

Style/PreferredHashMethods:
  Description: 'Checks use of `has_key?` and `has_value?` Hash methods.'
  StyleGuide: '#hash-key'
  Enabled: false

Style/Documentation:
  Description: 'Document classes and non-namespace modules.'
  Enabled: false

Layout/DotPosition:
  Description: 'Checks the position of the dot in multi-line method calls.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-multi-line-chains'
  EnforcedStyle: leading

Style/DoubleNegation:
  Description: 'Checks for uses of double negation (!!).'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-bang-bang'
  Enabled: false

Style/EachWithObject:
  Description: 'Prefer `each_with_object` over `inject` or `reduce`.'
  Enabled: false

Style/EmptyLiteral:
  Description: 'Prefer literals to Array.new/Hash.new/String.new.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#literal-array-hash'
  Enabled: false

Style/SymbolArray:
  EnforcedStyle: brackets
  Enabled: true

# Checks whether the source file has a utf-8 encoding comment or not
# AutoCorrectEncodingComment must match the regex
# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/
Style/Encoding:
  Enabled: false

Style/EvenOdd:
  Description: 'Favor the use of Fixnum#even? && Fixnum#odd?'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
  Enabled: false

Layout/ExtraSpacing:
  Description: 'Do not use unnecessary spacing.'
  Enabled: true

Naming/FileName:
  Description: 'Use snake_case for source file names.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#snake-case-files'
  Enabled: false

Style/FrozenStringLiteralComment:
  Description: >-
    Add the frozen_string_literal comment to the top of files
    to help transition from Ruby 2.3.0 to Ruby 3.0.
  Enabled: false

Style/FlipFlop:
  Description: 'Checks for flip flops'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-flip-flops'
  Enabled: false

Style/FormatString:
  Description: 'Enforce the use of Kernel#sprintf, Kernel#format or String#%.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#sprintf'
  Enabled: false

Style/GlobalVars:
  Description: 'Do not introduce global variables.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#instance-vars'
  Reference: 'http://www.zenspider.com/Languages/Ruby/QuickRef.html'
  Enabled: false

Style/GuardClause:
  Description: 'Check for conditionals that can be replaced with guard clauses'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
  Enabled: false

Style/IfUnlessModifier:
  Description: >-
                 Favor modifier if/unless usage when you have a
                 single-line body.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#if-as-a-modifier'
  Enabled: false

Style/IfWithSemicolon:
  Description: 'Do not use if x; .... Use the ternary operator instead.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-semicolon-ifs'
  Enabled: false

Style/InlineComment:
  Description: 'Avoid inline comments.'
  Enabled: false

Style/Lambda:
  Description: 'Use the new lambda literal syntax for single-line blocks.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#lambda-multi-line'
  Enabled: false

Style/LambdaCall:
  Description: 'Use lambda.call(...) instead of lambda.(...).'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc-call'
  Enabled: false

Style/LineEndConcatenation:
  Description: >-
                 Use \ instead of + or << to concatenate two string literals at
                 line end.
  Enabled: false

Metrics/LineLength:
  Description: 'Limit lines to 100 characters.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#80-character-limits'
  Max: 100

Metrics/MethodLength:
  Description: 'Avoid methods longer than 10 lines of code.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#short-methods'
  Enabled: false

Style/ModuleFunction:
  Description: 'Checks for usage of `extend self` in modules.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#module-function'
  Enabled: false

Layout/MultilineOperationIndentation:
  Description: >-
                 Checks indentation of binary operations that span more than
                 one line.
  Enabled: true
  EnforcedStyle: indented

Style/MultilineBlockChain:
  Description: 'Avoid multi-line chains of blocks.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks'
  Enabled: false

Layout/MultilineMethodCallIndentation:
  Description: >-
                 Checks indentation of method calls with the dot operator
                 that span more than one line.
  Enabled: true
  EnforcedStyle: indented

Style/NegatedIf:
  Description: >-
                 Favor unless over if for negative conditions
                 (or control flow or).
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#unless-for-negatives'
  Enabled: false

Style/NegatedWhile:
  Description: 'Favor until over while for negative conditions.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#until-for-negatives'
  Enabled: false

Style/Next:
  Description: 'Use `next` to skip iteration instead of a condition at the end.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-conditionals'
  Enabled: false

Style/NilComparison:
  Description: 'Prefer x.nil? to x == nil.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#predicate-methods'
  Enabled: false

Style/Not:
  Description: 'Use ! instead of not.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bang-not-not'
  Enabled: false

Style/NumericLiterals:
  Description: >-
                 Add underscores to large numeric literals to improve their
                 readability.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#underscores-in-numerics'
  Enabled: false

Style/OneLineConditional:
  Description: >-
                 Favor the ternary operator(?:) over
                 if/then/else/end constructs.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#ternary-operator'
  Enabled: false

Naming/BinaryOperatorParameterName:
  Description: 'When defining binary operators, name the argument other.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#other-arg'
  Enabled: false

Metrics/ParameterLists:
  Description: 'Avoid parameter lists longer than three or four parameters.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#too-many-params'
  Enabled: false

Style/PercentLiteralDelimiters:
  Description: 'Use `%`-literal delimiters consistently'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-literal-braces'
  Enabled: false

Style/PerlBackrefs:
  Description: 'Avoid Perl-style regex back references.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-perl-regexp-last-matchers'
  Enabled: false

Naming/PredicateName:
  Description: 'Check the names of predicate methods.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#bool-methods-qmark'
  NamePrefixBlacklist:
    - is_
  Exclude:
    - spec/**/*

Style/Proc:
  Description: 'Use proc instead of Proc.new.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#proc'
  Enabled: false

Style/RaiseArgs:
  Description: 'Checks the arguments passed to raise/fail.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#exception-class-messages'
  Enabled: false

Style/RegexpLiteral:
  Description: 'Use / or %r around regular expressions.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-r'
  Enabled: false

Style/SelfAssignment:
  Description: >-
                 Checks for places where self-assignment shorthand should have
                 been used.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#self-assignment'
  Enabled: false

Style/SingleLineBlockParams:
  Description: 'Enforces the names of some block params.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#reduce-blocks'
  Enabled: false

Style/SingleLineMethods:
  Description: 'Avoid single-line methods.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-single-line-methods'
  Enabled: false

Style/SignalException:
  Description: 'Checks for proper usage of fail and raise.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#fail-method'
  Enabled: false

Style/SpecialGlobalVars:
  Description: 'Avoid Perl-style global variables.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-cryptic-perlisms'
  Enabled: false

Style/StringLiterals:
  Description: 'Checks if uses of quotes match the configured preference.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#consistent-string-literals'
  EnforcedStyle: double_quotes
  Enabled: true

Style/TrailingCommaInArguments:
  Description: 'Checks for trailing comma in argument lists.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
  EnforcedStyleForMultiline: no_comma
  Enabled: true

Style/TrailingCommaInArrayLiteral:
  Description: 'Checks for trailing comma in array literals.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
  EnforcedStyleForMultiline: no_comma
  Enabled: true

Style/TrailingCommaInHashLiteral:
  Description: 'Checks for trailing comma in hash literals.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-trailing-array-commas'
  EnforcedStyleForMultiline: no_comma
  Enabled: true

Style/TrivialAccessors:
  Description: 'Prefer attr_* methods to trivial readers/writers.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#attr_family'
  Enabled: false

Style/VariableInterpolation:
  Description: >-
                 Don't interpolate global, instance and class variables
                 directly in strings.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#curlies-interpolate'
  Enabled: false

Style/WhenThen:
  Description: 'Use when x then ... for one-line cases.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#one-line-cases'
  Enabled: false

Style/WhileUntilModifier:
  Description: >-
                 Favor modifier while/until usage when you have a
                 single-line body.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#while-as-a-modifier'
  Enabled: false

Style/WordArray:
  Description: 'Use %w or %W for arrays of words.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#percent-w'
  Enabled: false

# Lint

Lint/AmbiguousOperator:
  Description: >-
                 Checks for ambiguous operators in the first argument of a
                 method invocation without parentheses.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-as-args'
  Enabled: false

Lint/AmbiguousRegexpLiteral:
  Description: >-
                 Checks for ambiguous regexp literals in the first argument of
                 a method invocation without parenthesis.
  Enabled: false

Lint/AssignmentInCondition:
  Description: "Don't use assignment in conditions."
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#safe-assignment-in-condition'
  Enabled: false

Lint/CircularArgumentReference:
  Description: "Don't refer to the keyword argument in the default value."
  Enabled: false

Layout/ConditionPosition:
  Description: >-
                 Checks for condition placed in a confusing position relative to
                 the keyword.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#same-line-condition'
  Enabled: false

Lint/DeprecatedClassMethods:
  Description: 'Check for deprecated class method calls.'
  Enabled: false

Lint/DuplicatedKey:
  Description: 'Check for duplicate keys in hash literals.'
  Enabled: false

Lint/EachWithObjectArgument:
  Description: 'Check for immutable argument given to each_with_object.'
  Enabled: false

Lint/ElseLayout:
  Description: 'Check for odd code arrangement in an else block.'
  Enabled: false

Lint/FormatParameterMismatch:
  Description: 'The number of parameters to format/sprint must match the fields.'
  Enabled: false

Lint/HandleExceptions:
  Description: "Don't suppress exception."
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions'
  Enabled: false

Layout/InitialIndentation:
  Description: >-
    Checks the indentation of the first non-blank non-comment line in a file.
  Enabled: false

Lint/LiteralAsCondition:
  Description: 'Checks of literals used in conditions.'
  Enabled: false

Lint/LiteralInInterpolation:
  Description: 'Checks for literals used in interpolation.'
  Enabled: false

Lint/Loop:
  Description: >-
                 Use Kernel#loop with break rather than begin/end/until or
                 begin/end/while for post-loop tests.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#loop-with-break'
  Enabled: false

Lint/NestedMethodDefinition:
  Description: 'Do not use nested method definitions.'
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-nested-methods'
  Enabled: false

Lint/NonLocalExitFromIterator:
  Description: 'Do not use return in iterator to cause non-local exit.'
  Enabled: false

Lint/ParenthesesAsGroupedExpression:
  Description: >-
                 Checks for method calls with a space before the opening
                 parenthesis.
  StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#parens-no-spaces'
  Enabled: false

Lint/RequireParentheses:
  Description: >-
                 Use parentheses in the method call to avoid confusion
                 about precedence.
  Enabled: false

Lint/UnderscorePrefixedVariableName:
  Description: 'Do not use prefix `_` for a variable that is used.'
  Enabled: false

Lint/Void:
  Description: 'Possible use of operator/literal/variable in void context.'
  Enabled: false

# Performance

Performance/CaseWhenSplat:
  Description: >-
                  Place `when` conditions that use splat at the end
                  of the list of `when` branches.
  Enabled: false

Performance/Count:
  Description: >-
                  Use `count` instead of `select...size`, `reject...size`,
                  `select...count`, `reject...count`, `select...length`,
                  and `reject...length`.
  Enabled: false

Performance/Detect:
  Description: >-
                  Use `detect` instead of `select.first`, `find_all.first`,
                  `select.last`, and `find_all.last`.
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
  Enabled: false

Performance/FlatMap:
  Description: >-
                  Use `Enumerable#flat_map`
                  instead of `Enumerable#map...Array#flatten(1)`
                  or `Enumberable#collect..Array#flatten(1)`
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablemaparrayflatten-vs-enumerableflat_map-code'
  Enabled: false

Performance/ReverseEach:
  Description: 'Use `reverse_each` instead of `reverse.each`.'
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerablereverseeach-vs-enumerablereverse_each-code'
  Enabled: false

Performance/Sample:
  Description: >-
                  Use `sample` instead of `shuffle.first`,
                  `shuffle.last`, and `shuffle[Fixnum]`.
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#arrayshufflefirst-vs-arraysample-code'
  Enabled: false

Performance/Size:
  Description: >-
                  Use `size` instead of `count` for counting
                  the number of elements in `Array` and `Hash`.
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#arraycount-vs-arraysize-code'
  Enabled: false

Performance/StringReplacement:
  Description: >-
                  Use `tr` instead of `gsub` when you are replacing the same
                  number of characters. Use `delete` instead of `gsub` when
                  you are deleting characters.
  Reference: 'https://github.com/JuanitoFatas/fast-ruby#stringgsub-vs-stringtr-code'
  Enabled: false

# Rails

Rails/ActionFilter:
  Description: 'Enforces consistent use of action filter methods.'
  Enabled: false

Rails/Date:
  Description: >-
                  Checks the correct usage of date aware methods,
                  such as Date.today, Date.current etc.
  Enabled: false

Rails/FindBy:
  Description: 'Prefer find_by over where.first.'
  Enabled: false

Rails/FindEach:
  Description: 'Prefer all.find_each over all.find.'
  Enabled: false

Rails/HasAndBelongsToMany:
  Description: 'Prefer has_many :through to has_and_belongs_to_many.'
  Enabled: false

Rails/Output:
  Description: 'Checks for calls to puts, print, etc.'
  Enabled: false

Rails/ReadWriteAttribute:
  Description: >-
                 Checks for read_attribute(:attr) and
                 write_attribute(:attr, val).
  Enabled: false

Rails/ScopeArgs:
  Description: 'Checks the arguments of ActiveRecord scopes.'
  Enabled: false

Rails/TimeZone:
  Description: 'Checks the correct usage of time zone aware methods.'
  StyleGuide: 'https://github.com/bbatsov/rails-style-guide#time'
  Reference: 'http://danilenko.org/2012/7/6/rails_timezones'
  Enabled: true

Rails/Validation:
  Description: 'Use validates :attribute, hash of validations.'
  Enabled: false

Rails/HttpStatus:
  Description: 'Enforces use of symbolic or numeric value to define HTTP status.'
  Enabled: true
  EnforcedStyle: symbolic

@alexanderadam
Copy link

@pderichs I'm having the same issue on ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-linux] and rubocop 0.72.0 without any .rubocop.yml at all.

Stacktrace is still the same (except with GNU Linux paths instead of OS/X paths):

Traceback (most recent call last):
  File "/opt/sublime_text/sublime_plugin.py", line 525, in on_load_async
    callback.on_load_async(v)
  File "/some/user/path/sublime-text-3/Installed Packages/RuboCop.sublime-package/rubocop_listener.py", line 141, in on_load_async
    self.do_in_file_check(view)
  File "/some/user/path/sublime-text-3/Installed Packages/RuboCop.sublime-package/rubocop_listener.py", line 128, in do_in_file_check
    self.mark_issues(view, mark)
  File "/some/user/path/sublime-text-3/Installed Packages/RuboCop.sublime-package/rubocop_listener.py", line 122, in mark_issues
    self.set_marks_by_results(view, results)
  File "/some/user/path/sublime-text-3/Installed Packages/RuboCop.sublime-package/rubocop_listener.py", line 58, in set_marks_by_results
    base_file = os.path.basename(path)
  File "./python3.3/posixpath.py", line 142, in basename
AttributeError: 'NoneType' object has no attribute 'rfind'

RuboCop.sublime-settings:

{
 "mark_issues_in_view": true,
 "check_for_rvm": false,
 "check_for_rbenv": true,
 "show_auto_correct_warning": false,
 "rbenv_path": "~/.rbenv/bin/rbenv",
 "rubocop_config_file": "./.rubocop.yml"
}

I'm not a Python developer, but I had a look regarding the stack trace and could it be that path is simply sometimes not defined?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants