Module Yamler
In: lib/yamler/template.rb
lib/yamler/yamler.rb

Methods

load  

Classes and Modules

Class Yamler::Template

Public Class methods

Mimics YAML#load, except that it creates a new Yamler::Template class and calls the render method on Yamler::Template.

An optional Hash of options can be passed in. See Yamler::Template for more information.

If a block is passed in the contents of that block will be made available to ERB when the rendering occurs.

Examples:

  # Renders said file through ERB, and then through YAML.load:
  Yamler.load('/path/to/file.yml')

  # Does the same as above but makes a method called say_hi
  # available to the binding of the Yamler::Template instance.
  Yamler.load('/path/to/file.yml') do
    def say_hi
      'hi'
    end
  end

[Source]

    # File lib/yamler/yamler.rb, line 25
25:     def load(path, options = {}, &block)
26:       template = Yamler::Template.new(path, options) 
27:       if block_given?
28:         template.instance_eval(&block)
29:       end
30:       YAML.load(template.render)
31:     end

[Validate]