Module: Representable::XML

Included in:
AttributeHash, Collection, Hash
Defined in:
lib/representable/xml.rb,
lib/representable/xml/hash.rb,
lib/representable/xml/collection.rb,
lib/representable/bindings/xml_bindings.rb

Defined Under Namespace

Modules: AttributeHash, ClassMethods, Collection, Hash, ObjectBinding Classes: AttributeBinding, AttributeHashBinding, CollectionBinding, HashBinding, PropertyBinding

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/representable/xml.rb', line 7

def self.included(base)
  base.class_eval do
    include Representable
    extend ClassMethods
    self.representation_wrap = true # let representable compute it.
  end
end

Instance Method Details

#from_node(node, options = {}) ⇒ Object



39
40
41
# File 'lib/representable/xml.rb', line 39

def from_node(node, options={})
  update_properties_from(node, options, :xml)
end

#from_xml(doc, *args) ⇒ Object



34
35
36
37
# File 'lib/representable/xml.rb', line 34

def from_xml(doc, *args)
  node = Nokogiri::XML(doc).root
  from_node(node, *args)
end

#to_node(options = {}) ⇒ Object

Returns a Nokogiri::XML object representing this object.



44
45
46
47
48
# File 'lib/representable/xml.rb', line 44

def to_node(options={})
  root_tag = options[:wrap] || representation_wrap
  
  create_representation_with(Nokogiri::XML::Node.new(root_tag.to_s, Nokogiri::XML::Document.new), options, :xml)
end

#to_xml(*args) ⇒ Object



50
51
52
# File 'lib/representable/xml.rb', line 50

def to_xml(*args)
  to_node(*args).to_s
end