Skip to content

Grape 2.1.x fail to compile, NoMethodError: undefined method []' for nil in grape/dsl/inside_route.rb:421:in route' #2491

Closed
@DonMat

Description

@DonMat

I've an issue after upgrade Grape from 2.0 to 2.1.x
My apps setup. The same error is produced on:
Ruby 3.3.4, Rails 7.2
Ruby 3.3.1 , Rails 7.0.8.4, 7.1.3.3
Official repo Grape on Rails behaves the same after upgrade Grape locally to 2.1.3

Steps to reproduce:

  • Use any of Ruby 3.x and Rails 7.x
  • Use Twitter::API example form readme
  • Try to compile Twitter::API.compile! with Grape 2.0
  • Upgrade Grape to 2.1.*
  • Try to compile Twitter::API.compile!
Twitter::Api.compile!
An error occurred when inspecting the object: #<NoMethodError: undefined method `[]' for nil>
An error occurred when running Kernel#inspect: #<NoMethodError: undefined method `[]' for nil>
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/grape-2.1.3/lib/grape/dsl/inside_route.rb:423:in `route'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/grape-2.1.3/lib/grape/endpoint.rb:409:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-7.2.1/lib/active_support/ordered_options.rb:69:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/activesupport-7.2.1/lib/active_support/ordered_options.rb:69:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `inspect'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `bind_call'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:101:in `rescue in inspect_value'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/inspector.rb:95:in `inspect_value'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb/context.rb:639:in `inspect_last_value'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1395:in `output_value'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1057:in `block (2 levels) in eval_input'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1388:in `signal_status'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1041:in `block in eval_input'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1120:in `block in each_top_level_statement'
<internal:kernel>:187:in `loop'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1117:in `each_top_level_statement'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1040:in `eval_input'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1021:in `block in run'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1020:in `catch'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/irb-1.14.0/lib/irb.rb:1020:in `run'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/commands/console/irb_console.rb:119:in `start'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/commands/console/console_command.rb:59:in `start'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/commands/console/console_command.rb:8:in `start'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/commands/console/console_command.rb:87:in `perform'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor/command.rb:28:in `run'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor/invocation.rb:127:in `invoke_command'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/command/base.rb:178:in `invoke_command'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/thor-1.3.2/lib/thor.rb:538:in `dispatch'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/command/base.rb:73:in `perform'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/command.rb:71:in `block in invoke'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/command.rb:149:in `with_argv'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/command.rb:69:in `invoke'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/railties-7.2.1/lib/rails/commands.rb:18:in `<main>'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `require'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/3.3.0/bundled_gems.rb:74:in `block (2 levels) in replace_require'
/Users/rails/.rbenv/versions/3.3.1/lib/ruby/gems/3.3.0/gems/bootsnap-1.18.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require'
bin/rails:4:in `<main>'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions