diff options
| author | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-21 15:08:56 +0000 |
|---|---|---|
| committer | nahi <nahi@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-21 15:08:56 +0000 |
| commit | 205b1c80afc70c4ea8b9f2568f3a6a8c887ec05f (patch) | |
| tree | 24f961910f47d6feb0cc10c226fd445624439b1c /lib/soap/baseData.rb | |
| parent | 298ff0cf4d0378eff4fe7f48ee088d6b389d49af (diff) | |
| download | ruby-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.rb | 21 |
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) |
