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)
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.