diff options
Diffstat (limited to 'lib/wsdl')
-rw-r--r-- | lib/wsdl/xmlSchema/attribute.rb | 7 | ||||
-rw-r--r-- | lib/wsdl/xmlSchema/element.rb | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/lib/wsdl/xmlSchema/attribute.rb b/lib/wsdl/xmlSchema/attribute.rb index cfd4c68422..c82bd13bde 100644 --- a/lib/wsdl/xmlSchema/attribute.rb +++ b/lib/wsdl/xmlSchema/attribute.rb @@ -18,10 +18,11 @@ class Attribute < Info if RUBY_VERSION > "1.7.0" def attr_reader_ref(symbol) name = symbol.to_s - self.__send__(:define_method, name, proc { - instance_variable_get("@#{name}") || + iv = "@#{name}" + define_method(name) { + instance_variable_get(iv) || (refelement ? refelement.__send__(name) : nil) - }) + } end else def attr_reader_ref(symbol) diff --git a/lib/wsdl/xmlSchema/element.rb b/lib/wsdl/xmlSchema/element.rb index 584afe9dc6..4a144cd522 100644 --- a/lib/wsdl/xmlSchema/element.rb +++ b/lib/wsdl/xmlSchema/element.rb @@ -18,10 +18,11 @@ class Element < Info if RUBY_VERSION > "1.7.0" def attr_reader_ref(symbol) name = symbol.to_s - self.__send__(:define_method, name, proc { - instance_variable_get("@#{name}") || + iv = "@#{name}" + define_method(name) { + instance_variable_get(iv) || (refelement ? refelement.__send__(name) : nil) - }) + } end else def attr_reader_ref(symbol) |