Including core class extensions from gems

Hey all,

This question could just as easily be a good fit for the RoR list, but I
figured it’s really more of a Ruby question, pertaining to a
Rails-specific gem in this case.

What I’m trying to do… is leverage Rails’ activesupport gem.
Specifically, the new Hash.from_xml method (and all of its related
dependencies).

gem list | grep activesupport
activesupport (1.3.1, 1.2.5)

Check.

This is where I’m a little befuddled as to how to do this the Ruby
way…

A simple test I’ve worked up to demonstrate whether or not this is
working (hash_from_xml_test.rb):

require ‘rubygems’
require_gem ‘activesupport’, ‘>= 1.3.1’
require ‘active_support’
require ‘active_support/core_ext’

class HashFromXmlTest < Test::Unit::TestCase
def test_hash_from_xml
h = Hash.from_xml(‘bar’)
assert h.is_a?(Hash)
end
end

Running this gives a “NoMethodError: undefined method `from_xml’ for
Hash:Class”.

Any ideas?

Cheers,

On Jan 5, 2007, at 03:22, Shanti B. wrote:

activesupport (1.3.1, 1.2.5)
require_gem ‘activesupport’, ‘>= 1.3.1’
You don’t need this line at all. Rubygems is smart and knows which
gem to load.

By the way, ‘require_gem’ is deprecated, use ‘gem’

Running this gives a “NoMethodError: undefined method `from_xml’ for
Hash:Class”.

You probably have to load some other file. I’m sure grep will find
it. If not, try the Rails list.


Eric H. - [email protected] - http://blog.segment7.net

I LIT YOUR GEM ON FIRE!