Module: Representable::YAML
- Includes:
- Hash
- Defined in:
- lib/representable/yaml.rb,
lib/representable/bindings/yaml_bindings.rb
Defined Under Namespace
Modules: ClassMethods
Classes: CollectionBinding, PropertyBinding
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Hash
#from_hash, #to_hash
Class Method Details
.included(base) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/representable/yaml.rb', line 8
def self.included(base)
base.class_eval do
include Representable
extend ClassMethods
end
end
|
Instance Method Details
#from_yaml(doc, options = {}) ⇒ Object
36
37
38
39
|
# File 'lib/representable/yaml.rb', line 36
def from_yaml(doc, options={})
hash = Psych.load(doc)
from_hash(hash, options, PropertyBinding)
end
|
#to_ast(options = {}) ⇒ Object
Returns a Nokogiri::XML object representing this object.
42
43
44
45
46
47
48
|
# File 'lib/representable/yaml.rb', line 42
def to_ast(options={})
Psych::Nodes::Mapping.new.tap do |map|
create_representation_with(map, options, PropertyBinding)
end
end
|
#to_yaml(*args) ⇒ Object
50
51
52
53
54
55
56
|
# File 'lib/representable/yaml.rb', line 50
def to_yaml(*args)
stream = Psych::Nodes::Stream.new
stream.children << doc = Psych::Nodes::Document.new
doc.children << to_ast(*args)
stream.to_yaml
end
|