The Have matcher checks for the definition of ActiveSupport::Inflector when evaluating the matching, and assumes that if ActiveSupport::Inflector is defined that it responds to pluralize. ActiveSupport 3.0 can be partially loaded so that ActiveSupport::Inflector is defined but does not respond to pluralize because inflector/methods.rb has been loaded but inflector/inflections.rb has not. I've done this in a gem I'm developing by cherry picking active_support/dependencies/autoload which requires active_support/inflector/methods but not active_support/inflector/inflections
Giving it a try on my inflectors branch: http://github.com/txus/rspec-expectations/tree/inflectors
I'll try to find some time tonight and get it finished.
Ok, this should be it. Added the additional check so that RSpec does not try to pluralize unless inflector indeed responds to :pluralize.
have_matcher - use pluralize only when ActiveSupport inflections are indeed defined