summaryrefslogtreecommitdiffstats
path: root/lib/soap/baseData.rb
diff options
context:
space:
mode:
authornahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-21 15:08:56 +0000
committernahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-21 15:08:56 +0000
commit205b1c80afc70c4ea8b9f2568f3a6a8c887ec05f (patch)
tree24f961910f47d6feb0cc10c226fd445624439b1c /lib/soap/baseData.rb
parent298ff0cf4d0378eff4fe7f48ee088d6b389d49af (diff)
downloadruby-205b1c80afc70c4ea8b9f2568f3a6a8c887ec05f.tar.gz
ruby-205b1c80afc70c4ea8b9f2568f3a6a8c887ec05f.tar.xz
ruby-205b1c80afc70c4ea8b9f2568f3a6a8c887ec05f.zip
* lib/soap/*, test/soap/*, sample/soap/authheader/*: eval cleanup.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/soap/baseData.rb')
-rw-r--r--lib/soap/baseData.rb21
1 files changed, 7 insertions, 14 deletions
diff --git a/lib/soap/baseData.rb b/lib/soap/baseData.rb
index 2d3d059eb..bf2fe6b25 100644
--- a/lib/soap/baseData.rb
+++ b/lib/soap/baseData.rb
@@ -595,20 +595,13 @@ private
if self.respond_to?(methodname)
methodname = safe_accessor_name(methodname)
end
- begin
- instance_eval <<-EOS
- def #{ methodname }()
- @data[@array.index('#{ name }')]
- end
-
- def #{ methodname }=(value)
- @data[@array.index('#{ name }')] = value
- end
- EOS
- rescue SyntaxError
- methodname = safe_accessor_name(methodname)
- retry
- end
+ sclass = class << self; self; end
+ sclass.__send__(:define_method, methodname, proc {
+ @data[@array.index(name)]
+ })
+ sclass.__send__(:define_method, methodname + '=', proc { |value|
+ @data[@array.index(name)] = value
+ })
end
def safe_accessor_name(name)