Module: Stackup::YAML
- Defined in:
- lib/stackup/yaml.rb
Overview
Modified YAML parsing, to support CloudFormation YAML shortcuts
Defined Under Namespace
Classes: CloudFormationToRuby
Class Method Summary collapse
-
.dump(*args) ⇒ Object
Dump Ruby object
o
to a YAML string. -
.load(yaml, filename = nil) ⇒ Object
Load YAML stream/string into a Ruby data structure.
-
.load_file(filename) ⇒ Object
Load YAML file into a Ruby data structure.
Class Method Details
.dump(*args) ⇒ Object
Dump Ruby object o
to a YAML string.
13 14 15 |
# File 'lib/stackup/yaml.rb', line 13 def dump(*args) ::YAML.dump(*args) end |
.load(yaml, filename = nil) ⇒ Object
Load YAML stream/string into a Ruby data structure.
Supports CloudFormation extensions:
`!Ref blah` as a shortcut for `{ "Ref" => blah }`
`!Foo blah` as a shortcut for `{ "Fn::Foo" => blah }`
24 25 26 27 28 29 |
# File 'lib/stackup/yaml.rb', line 24 def load(yaml, filename = nil) tree = ::YAML.parse(yaml, filename) return tree unless tree CloudFormationToRuby.create.accept(tree) end |
.load_file(filename) ⇒ Object
Load YAML file into a Ruby data structure.
Supports CloudFormation extensions as per ‘load`.
35 36 37 38 39 |
# File 'lib/stackup/yaml.rb', line 35 def load_file(filename) File.open(filename, "r:bom|utf-8") do |f| load(f, filename) end end |