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
.binding_for_definition(definition) ⇒ Object
7
8
9
10
11
12
13
|
# File 'lib/representable/xml.rb', line 7
def self.binding_for_definition(definition)
return CollectionBinding.new(definition) if definition.array?
return HashBinding.new(definition) if definition.hash? and not definition.options[:use_attributes]
return AttributeHashBinding.new(definition) if definition.hash? and definition.options[:use_attributes]
return AttributeBinding.new(definition) if definition.attribute
PropertyBinding.new(definition)
end
|
.included(base) ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/representable/xml.rb', line 15
def self.included(base)
base.class_eval do
include Representable
extend ClassMethods
self.representation_wrap = true
end
end
|
Instance Method Details
#from_node(node, options = {}) ⇒ Object
47
48
49
|
# File 'lib/representable/xml.rb', line 47
def from_node(node, options={})
update_properties_from(node, options, XML)
end
|
#from_xml(doc, *args) ⇒ Object
42
43
44
45
|
# File 'lib/representable/xml.rb', line 42
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.
52
53
54
55
56
|
# File 'lib/representable/xml.rb', line 52
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
58
59
60
|
# File 'lib/representable/xml.rb', line 58
def to_xml(*args)
to_node(*args).to_s
end
|