class Ec2Templater::Renderer

Constants

Result

Public Class Methods

new(template, target) click to toggle source
# File lib/ec2_templater/renderer.rb, line 7
def initialize(template, target)
  @template_renderer = Erubis::Eruby.new(template)
  @target = target
end

Public Instance Methods

call(vars) click to toggle source
# File lib/ec2_templater/renderer.rb, line 12
def call(vars)
  new_content = render(vars)
  changed = (target_content != new_content)
  write_target(new_content) if changed
  Result.new(changed, new_content)
end

Private Instance Methods

render(vars) click to toggle source
# File lib/ec2_templater/renderer.rb, line 21
def render(vars)
  @template_renderer.evaluate(vars)
end
target_content() click to toggle source
# File lib/ec2_templater/renderer.rb, line 25
def target_content
  File.read(@target) if File.exist?(@target)
end
write_target(content) click to toggle source
# File lib/ec2_templater/renderer.rb, line 29
def write_target(content)
  File.write(@target, content)
end