def self.set_attributes(obj, values)
case obj
when ::SOAP::Mapping::Object
values.each do |attr_name, value|
obj.__add_xmlele_value(attr_name, value)
end
else
values.each do |attr_name, value|
name = Mapping.safevarname(attr_name).untaint
setter = name + "="
if obj.respond_to?(setter)
obj.__send__(setter, value)
else
obj.instance_variable_set('@' + name, value)
begin
unless obj.respond_to?(name)
obj.instance_eval "def \#{name}\n@\#{name}\nend\n"
end
unless self.respond_to?(name + "=")
obj.instance_eval "def \#{name}=(value)\n@\#{name} = value\nend\n"
end
rescue TypeError
end
end
end
end
end