Yamler - Making YAML easy and fun to use with Ruby

Using YAML in Ruby is pretty easy, but I find myself doing several things every time I use YAML. First is I always seem to pass it through ERB. The other is that I want to pass it a binding, because I want to give it access to some variables or methods. Finally I sometimes end up merging several YAML files into one file, because other wise it would be too big and unwieldy to manage. Enter Yamler:

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

# Renders said file through ERB, and then through YAML.load:
Yamler.load('/path/to/file.yml', {:locals => {:username => 'markbates'}, :foo => :bar})