Class: XmlSerializer
- Inherits:
-
Object
- Object
- XmlSerializer
- Defined in:
- lib/lab5.rb
Class Method Summary collapse
Class Method Details
.deserialize_array(xml) ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/lab5.rb', line 21 def self.deserialize_array(xml) Nokogiri::XML(xml).css('object').map do |element| object = element.attribute('class_name').value.constantize.new element.css('instance_variable').each do |var_element| object.instance_variable_set(var_element.attribute('name').value, var_element.text) end object end end |
.serialize_array(array) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/lab5.rb', line 4 def self.serialize_array(array) builder = Nokogiri::XML::Builder.new do |xml| xml.objects do array.each do |object| xml.object class_name: object.class.name do object.instance_variables.each do |variable_name| xml.instance_variable object.instance_variable_get(variable_name), name: variable_name end end end end end builder.to_xml end |