class RakeDependencies::Template

Public Class Methods

new( template, parameters = {}) click to toggle source
# File lib/rake_dependencies/template.rb, line 6
def initialize(
    template,
    parameters = {})
  @template = template
  @parameters = Hamster::Hash.new(parameters)
end

Public Instance Methods

render() click to toggle source
# File lib/rake_dependencies/template.rb, line 23
def render
  context = Object.new
  @parameters.each do |key, value|
    context.instance_variable_set("@#{key}", value)
  end
  context_binding = context.instance_eval { binding }
  ERB.new(@template).result(context_binding)
end
with_parameter(key, value) click to toggle source
# File lib/rake_dependencies/template.rb, line 13
def with_parameter key, value
  Template.new(@template, @parameters.put(key, value))
end
with_parameters(**pairs) click to toggle source
# File lib/rake_dependencies/template.rb, line 17
def with_parameters **pairs
  pairs.to_a.reduce(self) do |memo, parameter|
    memo.with_parameter(*parameter)
  end
end