Module: DockerBoss::Helpers

Defined in:
lib/docker_boss/helpers.rb

Defined Under Namespace

Modules: TemplateHelpers

Class Method Summary collapse

Class Method Details

.hash_diff(old, new) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



7
8
9
10
11
12
# 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) ⇒ Object



14
15
16
17
# File 'lib/docker_boss/helpers.rb', line 14

def self.render_erb_file(file, data)
  contents = File.read(file)
  render_erb(contents, data)
end