[libxml-devel] Subclassing XML::Document?
Dan Janowski
danj at 3skel.com
Wed Aug 27 11:44:54 EDT 2008
You may be able to produce what you want by defining a module and
extending the Document with it:
ardent:~ danj$ irb
irb(main):001:0> class A
irb(main):002:1> end
=> nil
irb(main):003:0> module B
irb(main):004:1> def hello
irb(main):005:2> puts "hello"
irb(main):006:2> end
irb(main):007:1> end
=> nil
irb(main):008:0> a=A.new
=> #<A:0x19256c>
irb(main):009:0> a.extend B
=> #<A:0x19256c>
irb(main):010:0> a.hello
hello
=> nil
irb(main):011:0>
You can also override #parse by renaming the original function and
perform the extend after calling #parse_original.
Dan
On Aug 26, 2008, at 23:01, Mark Thomas wrote:
> I'd like to create a subclass of XML::Document. However, I'm having
> trouble figuring out how I would instantiate my subclass because
> parsing requires Parser.parse() which returns an XML::Document
> instead of My::Subclass. Unfortunately, Ruby doesn't have a way of
> changing the class of an object.
>
> Any suggestions?
>
> -- Mark.
> _______________________________________________
> libxml-devel mailing list
> libxml-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/libxml-devel
More information about the libxml-devel
mailing list