Module: Representable::XML
- Included in:
- AttributeHash, Hash
- Defined in:
- lib/representable/xml.rb,
lib/representable/xml/hash.rb,
lib/representable/xml/binding.rb,
lib/representable/xml/namespace.rb,
lib/representable/xml/collection.rb
Defined Under Namespace
Modules: AttributeHash, ClassMethods, Collection, Hash, Namespace
Classes: Binding
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(base) ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'lib/representable/xml.rb', line 12
def self.included(base)
base.class_eval do
include Representable
extend ClassMethods
self.representation_wrap = true register_feature Representable::XML
end
end
|
.Node(document, name, attributes = {}) ⇒ Object
5
6
7
8
9
10
|
# File 'lib/representable/xml/binding.rb', line 5
module_function def Node(document, name, attributes={})
node = Nokogiri::XML::Node.new(name.to_s, document)
attributes.each { |k, v| node[k] = v } node
end
|
Instance Method Details
#from_node(node, options = {}) ⇒ Object
42
43
44
|
# File 'lib/representable/xml.rb', line 42
def from_node(node, options={})
update_properties_from(node, options, Binding)
end
|
#from_xml(doc, *args) ⇒ Object
Also known as:
parse
36
37
38
39
40
|
# File 'lib/representable/xml.rb', line 36
def from_xml(doc, *args)
node = parse_xml(doc, *args)
from_node(node, *args)
end
|
#to_node(options = {}) ⇒ Object
Returns a Nokogiri::XML object representing this object.
47
48
49
50
51
52
|
# File 'lib/representable/xml.rb', line 47
def to_node(options={})
options[:doc] = Nokogiri::XML::Document.new root_tag = options[:wrap] || representation_wrap(options)
create_representation_with(Node(options[:doc], root_tag.to_s), options, Binding)
end
|
#to_xml(*args) ⇒ Object
Also known as:
render
54
55
56
|
# File 'lib/representable/xml.rb', line 54
def to_xml(*args)
to_node(*args).to_s
end
|