Open maksar opened 4 years ago
I have the same problem when using reek
with Ruby 2.7:
$ ruby -v
ruby 2.7.0preview1 (2019-05-31 trunk c55db6aa271df4a689dc8eb0039c929bf6ed43ff) [x86_64-linux]
$ bundle exec reek
bundler: failed to load command: reek (/usr/local/bundle/bin/reek)
FrozenError: can't modify frozen #<Class:#<Class:0x000055d2e063e468>>
/usr/local/bundle/gems/coercible-1.0.0/lib/support/options.rb:5:in `<module:Options>'
/usr/local/bundle/gems/coercible-1.0.0/lib/support/options.rb:4:in `<module:Coercible>'
/usr/local/bundle/gems/coercible-1.0.0/lib/support/options.rb:1:in `<top (required)>'
/usr/local/bundle/gems/coercible-1.0.0/lib/coercible.rb:27:in `require'
/usr/local/bundle/gems/coercible-1.0.0/lib/coercible.rb:27:in `<top (required)>'
/usr/local/bundle/gems/virtus-1.0.5/lib/virtus.rb:246:in `require'
/usr/local/bundle/gems/virtus-1.0.5/lib/virtus.rb:246:in `<top (required)>'
/usr/local/bundle/gems/codeclimate-engine-rb-0.4.1/lib/cc_engine/issue.rb:1:in `require'
/usr/local/bundle/gems/codeclimate-engine-rb-0.4.1/lib/cc_engine/issue.rb:1:in `<top (required)>'
/usr/local/bundle/gems/codeclimate-engine-rb-0.4.1/lib/codeclimate_engine.rb:2:in `require'
/usr/local/bundle/gems/codeclimate-engine-rb-0.4.1/lib/codeclimate_engine.rb:2:in `<top (required)>'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report/code_climate/code_climate_formatter.rb:3:in `require'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report/code_climate/code_climate_formatter.rb:3:in `<top (required)>'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report/code_climate.rb:4:in `require_relative'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report/code_climate.rb:4:in `<top (required)>'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report.rb:3:in `require_relative'
/usr/local/bundle/gems/reek-5.4.0/lib/reek/report.rb:3:in `<top (required)>'
/usr/local/bundle/gems/reek-5.4.0/lib/reek.rb:8:in `require_relative'
/usr/local/bundle/gems/reek-5.4.0/lib/reek.rb:8:in `<top (required)>'
/usr/local/bundle/gems/reek-5.4.0/bin/reek:9:in `require_relative'
/usr/local/bundle/gems/reek-5.4.0/bin/reek:9:in `<top (required)>'
/usr/local/bundle/bin/reek:23:in `load'
/usr/local/bundle/bin/reek:23:in `<top (required)>'
I was experiencing troubles with 'telegram/bot' file from 'telegram-bot-ruby' gem due to the 'coercible' library in ruby-2.7.0-preview1 interpreter.
Error boils down to
Undefined = Class.new.freeze
line inside options.rb file.