undefined method '<<' for nil:NilClass #8

Open
ghost opened this Issue Jan 8, 2012 · 28 comments

Projects

None yet
@ghost
ghost commented Jan 8, 2012

It does not seem to be working with Sinatra 1.3.2

When just requiring rack-flash it throws this error:

ERROR NoMethodError: undefined method `<<' for nil:NilClass
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/rack-flash-0.1.2/lib/rack/flash.rb:11:in `use'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1339:in `setup_default_middleware'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1327:in `build'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1321:in `new'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1311:in `prototype'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1334:in `block in call'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1416:in `synchronize'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/sinatra-1.3.2/lib/sinatra/base.rb:1334:in `call'
    /Users/david/.rvm/gems/ruby-1.9.3-p0/gems/rack-1.4.0/lib/rack/handler/webrick.rb:59:in `service'
    /Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
    /Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
    /Users/david/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

Also happening to me.

daz4126 commented Jan 9, 2012

I'm getting this too

tonkla commented Jan 11, 2012

It works with Sinatra 1.3.2, but you must downgrade Rack to v1.3.6.

throwing a "me too" on this, the workaround @tonkla posted works for me, rack was on 1.4.0, went down to 1.3.6 and the error goes away.

@ghost
ghost commented Jan 14, 2012

So, is this a Rack-flash issue, or a Rack issue?

tonkla commented Jan 14, 2012

Rack 1.4.0 was changed the infrastructure, so Rack-flash will follow that steps.

julik commented Jan 17, 2012

Also confirmed here

Confirmed this as an issue on my end as well. This is occurring on Heroku with the bamboo-mri-1.9.2 stack. Text of error:

!! Unexpected error while processing request: undefined method `<<' for nil:NilClass

Confirmed with these:
Using bundler (1.0.21)
Using rack (1.3.5)
Using rack-flash (0.1.2)
Using sinatra (1.3.1)
ruby 1.9.3p0

atotic commented Jan 20, 2012

Pretty funny, I just ran into this yesterday :)

Aleks

On Fri, Jan 20, 2012 at 12:23 PM, Marc Byrd
reply@reply.github.com
wrote:

Confirmed with these:
 Using bundler (1.0.21)
 Using rack (1.3.5)
 Using rack-flash (0.1.2)
 Using sinatra (1.3.1)
 ruby 1.9.3p0


Reply to this email directly or view it on GitHub:
#8 (comment)

rraf commented Jan 31, 2012

Same here, any workaround in the meantime?

4poc commented Feb 3, 2012

I've the same problem, downgrading rack to 1.3.6 in the meantime, Gemfile:
gem "rack", "<= 1.3.6"

Using rack (1.3.6) 
Using rack-flash (0.1.2) 
Using sinatra (1.3.2) 
jessor commented Feb 3, 2012

alternative: sinatra-flash

Yeah, that's what I've moved to at this point.

I've had a look and it seems to be caused by some dead code. Removing it seemed to fix it for me, and I'm not sure what it was ever supposed to do because it was monkey patching Rack::Builder!!

https://github.com/ChrisCauser/rack-flash

The tests don't run because it requires Sinatra < 1.0 (again, !!!!) Once I've had a look at the tests I'll put in a pull request, but in the meantime folks, take a look at the fork linked above.

seydar commented Mar 9, 2012

Can someone pull Chris Causer's fix?

Contributor
treeder commented Mar 19, 2012

Hey guys, decided to go ahead and push a new gem that includes @ChrisCauser 's fixes, you can use it with:

gem 'rack-flash3'

Project: https://github.com/treeder/rack-flash

viking commented Mar 27, 2012

@treeder, does it really need to require Ruby 1.9?

Contributor
treeder commented Mar 27, 2012

@viking probably not, copied that rakefile from another gem. Removed and pushed new version just now.

viking commented Mar 27, 2012

Awesome, thanks

+1, same error here. Thanks to @treeder for rack-flash3, I'm using that now instead.

+1, Thanks @treeder , rack-flash3 works!

Contributor
treeder commented Apr 28, 2012

np. ;)

mmmurf commented May 15, 2012

rack-flash3 works great! thanks! @nakajima should merge in the fix!

rack-flash3 is the great fix (had to gem uninstall rack-flash to make her work) Thank! Merge it!

bradley commented Sep 26, 2012

Thanks @malachaifrazier. That fix may have been obvious to some but it saved me a brief headache at the very least.

rubycut commented Sep 28, 2012

This projects seems dead, not able to merge pull request for 8 months.

@tlianza tlianza referenced this issue in sinatra/sinatra.github.com Oct 19, 2012
Closed

Rack:Flash #56

rupe commented Nov 3, 2012

I'm trying to use rack-flash3 with sinatra-authentication, unfortunately I cannot get the latter gem to recognize it. The only way I can get the sinatra-authentication gem to work is by using the Rack 1.3.6 gem, 1.4.1 does not fix the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment