Forum: Ruby on Rails ActiveSupport Dependencies load eats MultiJson.load?

Posted by Jonathan Rochkind (jrochkind)
on 2012-12-05 21:48
(Received via mailing list)
I can't quite figure out what's going on here, it seems like if this 
were
actually a problem someone else would have run into it and I'd have 
better
luck googling for it, since MultiJson is so popular but....

Rails 3.2.9.  Is ActiveSupport::Dependencies doing something weird with 
a
#load method defined on all objects, such that it conflicts with other
objects #load method?

MultiJson wants you to use MultiJson.load to parse JSON.

But when I try.... somehow some activesupport load is eating it instead. 
I
get an error "Could not load file [big json string]", and this odd
stacktrace:

activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `load'
activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `block in
load'",
active_support/dependencies.rb:236:in `load_dependency'",
activesupport-3.2.9/lib/active_support/dependencies.rb:245:in `load'",

line to my app code that's actually calling MultiJson.load, but then the
next line up is an active_support load instead, what now?

Anyone have any idea how I would debug this further, or what might be 
going
on?  Any known problems with ActiveSupport adding a 'load' which kills
other gems loads?
Posted by Jonathan Rochkind (jrochkind)
on 2012-12-05 22:09
(Received via mailing list)
Nevermind!

Indeed, nobody else reported the problem because there is no problem.

Due to weirdnesses of my Gemfile.lock, I was using a really old version 
of
multi_json without realizing it, one that lacked the #lock method.

(Had an old version of Capybara in my gemfile.lock, which locked 
multi_json
dependency to an old version of multi_json, which kept multi_json from 
ever
updating, bah).
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.