Module: DockerBoss::Helpers
- Defined in:
- lib/docker_boss/helpers.rb
Defined Under Namespace
Modules: TemplateHelpers
Class Method Summary collapse
- .hash_diff(old, new) ⇒ Object
- .render_erb(template_str, data) ⇒ Object
- .render_erb_file(file, data) ⇒ Object
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 |