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