In: |
soap/baseData.rb
|
Parent: | XSD::NSDBase |
Convenience datatypes.
elename | [RW] | |
refid | [RW] |
# File soap/baseData.rb, line 162 def self.decode(elename, refid) d = super(elename) d.refid = refid d end
Override the definition in SOAPBasetype.
# File soap/baseData.rb, line 120 def initialize(refid = nil) super() @type = XSD::QName.new @encodingstyle = nil @elename = XSD::QName.new @id = nil @precedents = [] @root = false @parent = nil @refid = refid @obj = nil end
# File soap/baseData.rb, line 137 def __setobj__(obj) @obj = obj @refid = SOAPReference.create_refid(@obj) @obj.id = @refid unless @obj.id @obj.precedents << self # Copies NSDBase information @obj.type = @type unless @obj.type end
Why don’t I use delegate.rb? -> delegate requires target object type at initialize time. Why don’t I use forwardable.rb? -> forwardable requires a list of forwarding methods.
ToDo: Maybe I should use forwardable.rb and give it a methods list like delegate.rb…
# File soap/baseData.rb, line 154 def method_missing(msg_id, *params) if @obj @obj.send(msg_id, *params) else nil end end