From: Jose francisco Gonzalez carmona Date: 2007-11-29T03:22:40+09:00 Subject: Re: REXML inheritance confusion (simple q?) Casimir wrote: > So I created my own subclass of REXML::Document. Like this: > > #begin example > class MyDoc < REXML::Document > def initialize () > @tree = super("") > puts @tree.class > @name = tree.root.add_element("test") > end > #end example > > The above results in "undefined method `root' for nil:NilClass > (NoMethodError)" > > Also trying 'super.new("")' doesnt work. > > I can get it working by writing @tree = > REXML::Document(""), but then my nice class will only be a > container, not a subclass. > > How can I actually get it working? Ie. get my very own subclass of > REXML::Document with my very own initialize. > > Yes, its a foggy day and inheritance seems to escape me... > > Csmr try this: -----BEGIN PROGRAM----- require 'rexml/document' xml =< END_DOC class MyDoc < REXML::Document def initialize (fnm) super(fnm) puts "from initialize: #{self.class}" @name = self.root.add_element("test") end end m_doc = MyDoc.new(xml) puts m_doc.root -----END PROGRAM----- -- Posted via http://www.ruby-forum.com/.