zipmark / rspec_api_documentation

Automatically generate API documentation from RSpec
MIT License
1.45k stars 363 forks source link

Support for rack 3.1.0 #548

Open TeamNautilus opened 3 months ago

TeamNautilus commented 3 months ago

Hello Zipmark,

we are Team Nautilus, and we would like to report an issue related to the rspec_api_documentation gem.

We are using Ruby 3.1.1 with the following Gemfile:

gem 'rails', '7.1.3'
gem 'rack', '3.0.11'
gem 'rspec_api_documentation', git: 'https://github.com/zipmark/rspec_api_documentation.git'
GIT
  remote: https://github.com/zipmark/rspec_api_documentation.git
  revision: d32bf17932a379052e8bb7540fc29ce7e72712ae
  specs:
    rspec_api_documentation (6.1.0)

and when we run the command rake docs:generate, everything works fine.

However, after updating the rack gem to version 3.1.0, we encounter the following error:

NoMethodError: 
    undefined method 'rewind' for nil:NilClass
        input.rewind

at rspec_api_documentation-d32bf17932a3/lib/rspec_api_documentation/client_base.rb#48.

Can you help us resolve this issue?

Thank you.

johanvdlaak commented 2 months ago

I'm running into this as well with rspec_api_documentation 6.1.0, ruby 3.2.5, rails 7.1.3.4 and rack 3.1.7.

ERCubed commented 2 months ago

In rack 3.0.11 last_request.env["rack.input"] has a value. After that it does not.

https://github.com/rack/rack/blob/main/UPGRADE-GUIDE.md#rackinput-is-no-longer-required-to-be-rewindable

Switching forks fixed the problem: gem 'rspec_api_documentation', github: 'SchoolKeep/rspec_api_documentation', ref: '13df1ac'

TeamNautilus commented 2 months ago

Switching forks fixed the problem: gem 'rspec_api_documentation', github: 'SchoolKeep/rspec_api_documentation', ref: '13df1ac'

It works also for us, thank you!