zombocom/derailed_benchmarks

DeadEnd raise an syntax error

Closed this issue · 3 comments

Hi, I've problem with dead_end

Any ideas how to solve this? Maybe this error from new release dead_end version?

bundle exec derailed bundle:mem
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:305: warning: circular argument reference - range
Traceback (most recent call last):
  11: from /Users/.rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `<main>'
  10: from /Users/.rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `eval'
   9: from /Users/.rvm/gems/ruby-2.5.1/bin/derailed:23:in `<main>'
   8: from /Users/.rvm/gems/ruby-2.5.1/bin/derailed:23:in `load'
   7: from /Users/.rvm/gems/ruby-2.5.1/gems/derailed_benchmarks-2.1.1/bin/derailed:16:in `<top (required)>'
   6: from /Users/.rvm/gems/ruby-2.5.1/gems/derailed_benchmarks-2.1.1/bin/derailed:16:in `require'
   5: from /Users/.rvm/gems/ruby-2.5.1/gems/derailed_benchmarks-2.1.1/lib/derailed_benchmarks.rb:7:in `<top (required)>'
   4: from /Users/.rvm/gems/ruby-2.5.1/gems/derailed_benchmarks-2.1.1/lib/derailed_benchmarks.rb:7:in `require'
   3: from /Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end.rb:3:in `<top (required)>'
   2: from /Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end.rb:3:in `require_relative'
   1: from /Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/internals.rb:147:in `<top (required)>'
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/internals.rb:147:in `require_relative': /Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:234: syntax error, unexpected ')' (SyntaxError)
...le_including(code_line.index..) do |line|
...                              ^
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:255: syntax error, unexpected ')'
...le_including(code_line.index..) { |x| x.trailing_slash? }
...                              ^
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:255: syntax error, unexpected '}', expecting keyword_end
...ex..) { |x| x.trailing_slash? }
...                              ^
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:289: syntax error, unexpected ']'
        lines[1..].each do |line|
                 ^
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:303: syntax error, unexpected ')'
...ke_while_including(range = 0..)
...                              ^
/Users/.rvm/gems/ruby-2.5.1/gems/dead_end-2.0.0/lib/dead_end/clean_document.rb:312: syntax error, unexpected keyword_end, expecting end-of-input
  end
  ^~~

Ahh, I think the problem here is the endless range which isn't in Ruby 2.5, I introduced code linting which changed the formatting. Also, I dropped 2.5 from the test suite as that ruby version is now EOL. I'll update the gem requirements so this doesn't happen in the future (you would be blocked from installing on 2.5).

In the short term, you can use an older version of the gem (1.x should still work with Ruby 2.5) until you can update your app to a non-EOL ruby version (3.x, 2.7.x, 2.6.x are currently supported by Ruby core). Ruby 2.5 was EOL in April https://www.ruby-lang.org/en/news/2021/04/05/ruby-2-5-9-released/

After this release, Ruby 2.5 reaches EOL. In other words, this is the last release of Ruby 2.5 series. We will not release Ruby 2.5.10 even if a security vulnerability is found. We recommend all Ruby 2.5 users to upgrade to Ruby 3.0, 2.7 or 2.6 immediately.

Also, I can investigate bringing back support for 2.5 for at least one major release cycle. Otherwise, the versioning resolution won't work itself out (since 2.x isn't properly tagged with a ruby version requirement).

And...i'll have to couple it to the derailed support version. I think i'll backport 2.5 support for sure then. Sorry about that.

Should be fixed gem install dead_end && bundle update dead_end sorry about that ruby/syntax_suggest#90