Class: Representable::XML::Binding::Hash

Inherits:
Collection show all
Includes:
Binding::Hash
Defined in:
lib/representable/xml/binding.rb

Instance Attribute Summary

Attributes inherited from Binding

#array, #cached_representer, #getter, #has_default, #name, #representable, #represented, #setter, #skip_filters, #typed, #user_options

Instance Method Summary collapse

Methods inherited from Representable::XML::Binding

build_for, #deserialize_method, #read, #serialize_method, #serialize_node, #write

Methods inherited from Binding

#[], #as, build, #compile_fragment, #default_for, #evaluate_option, #get, #initialize, #parse_filter, #read_fragment, #render_filter, #render_fragment, #representer_module_for, #set, #skipable_empty_value?, #uncompile_fragment, #update!, #write_fragment

Methods included from Binding::Factories

#deserializer, #deserializer_class, #populator, #populator_class, #serializer, #serializer_class

Constructor Details

This class inherits a constructor from Representable::Binding

Instance Method Details

#deserialize_from(nodes) ⇒ Object



114
115
116
117
118
119
120
121
# File 'lib/representable/xml/binding.rb', line 114

def deserialize_from(nodes)
  hash = {}
  nodes.children.each do |node|
    hash[node.name] = content_for node
  end

  hash
end

#serialize_for(value, parent) ⇒ Object



107
108
109
110
111
112
# File 'lib/representable/xml/binding.rb', line 107

def serialize_for(value, parent)
  set_for(parent, value.collect do |k, v|
    node = node_for(parent, k)
    serialize_node(node, v)
  end)
end