reek: Getting error when running reek

When I run reek I get this:

/Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:124:in `block in ignored_iterator?': undefined method `name' for #<#<Class:0x007ffb5131e328>:0x007ffb5131e2b0> (NoMethodError)
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:124:in `any?'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:124:in `ignored_iterator?'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:115:in `increment_depth'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:105:in `block in scout'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:100:in `map'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:100:in `scout'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:105:in `block in scout'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:100:in `map'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:100:in `scout'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:70:in `find_deepest_iterator'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/nested_iterators.rb:48:in `inspect'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/smell_detector.rb:47:in `run_for'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/smell_repository.rb:47:in `block in examine'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/smell_repository.rb:46:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/smells/smell_repository.rb:46:in `examine'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/examiner.rb:81:in `block in run'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:85:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:87:in `block in each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:86:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:86:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:87:in `block in each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:86:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/context/code_context.rb:86:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/examiner.rb:80:in `run'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/examiner.rb:37:in `initialize'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/command/report_command.rb:24:in `new'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/command/report_command.rb:24:in `block in populate_reporter_with_smells'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/command/report_command.rb:23:in `each'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/command/report_command.rb:23:in `populate_reporter_with_smells'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/command/report_command.rb:15:in `execute'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/lib/reek/cli/application.rb:28:in `execute'
    from /Users/eric/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/reek-4.0.3/bin/reek:13:in `<top (required)>'
    from /Users/eric/.rbenv/versions/2.3.1/bin/reek:23:in `load'
    from /Users/eric/.rbenv/versions/2.3.1/bin/reek:23:in `<main>'

I removed the .reek file assuming I botched it up, but it still gives the same error. My code passes rubocop, and it does still work. Any ideas how I can figure out what the issue is? The word “name” is pretty common in the code, so that’s not much to go on.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 30 (14 by maintainers)

Most upvoted comments

Yeah, thats exactly why Reek should catch ALL uncatched exceptions at top level so that we can 1) debug such problems easier and 2.) Improve overall user experience. That is something I had on my agenda for quite a while now - i’ll look into it and then we can revisit this issue.