module DockerBoss::Helpers

Public Class Methods

hash_diff(old, new) click to toggle source
# File lib/docker_boss/helpers.rb, line 19
def self.hash_diff(old, new)
  changes = {
    :added => {},
    :removed => {},
    :changed => {}
  }

  new.each do |k,v|
    if old.has_key? k
      changes[:changed][k] = v if old[k] != v
    else
      changes[:added][k] = v
    end
  end

  old.each do |k,v|
    changes[:removed][k] = v unless new.has_key? k
  end

  changes
end
render_erb(template_str, data) click to toggle source
# File lib/docker_boss/helpers.rb, line 7
def self.render_erb(template_str, data)
  tmpl = ERB.new(template_str)
  ns = OpenStruct.new(data)
  ns.extend(TemplateHelpers)
  tmpl.result(ns.instance_eval { binding })
end
render_erb_file(file, data) click to toggle source
# File lib/docker_boss/helpers.rb, line 14
def self.render_erb_file(file, data)
  contents = File.read(file)
  render_erb(contents, data)
end