hashie: New version of hashie breaks omniauth

The new version of hashie is blowing up our build on travis:

Bundler::GemRequireError: There was an error while trying to load the gem 'omniauth-google-oauth2'.
Gem Load Error is: uninitialized constant Hashie::Extensions::RubyVersionCheck::ClassMethods::RubyVersion
Backtrace for gem load error is:

hashie-3.5.0/lib/hashie/extensions/ruby_version_check.rb:10:in `with_minimum_ruby'
hashie-3.5.0/lib/hashie/array.rb:8:in `<class:Array>'
hashie-3.5.0/lib/hashie/array.rb:5:in `<module:Hashie>'
hashie-3.5.0/lib/hashie/array.rb:4:in `<top (required)>'
hashie-3.5.0/lib/hashie/mash.rb:2:in `<top (required)>'
omniauth-1.3.2/lib/omniauth/strategy.rb:1:in `<top (required)>'

Looking into trying to debug this. We use a lot of gems in our project

Any insight would be great, thanks

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 12
  • Comments: 23 (13 by maintainers)

Commits related to this issue

Most upvoted comments

I’m working on a patch for Hashie that will make this behavior toggleable. I’ll then make a patch for OmniAuth to take care of that functionality.

I’m trying to add an integration spec in https://github.com/intridea/hashie/pull/392.

That’s because they have an OmniAuth::AuthHash::InfoHash#name method, which is often set with the writer method Mash#name=. We often have people complain that the Mash behavior isn’t what they expect when a key collides with a built-in method, so we added logging to that point.

If you aren’t using Hashie anywhere else, you can set the Hashie logger to a nil logger with:

Hashie.logger = Logger.new(nil)

in an initializer.