class Dockly::BashBuilder

Constants

SNIPPET_PATH

Public Class Methods

generate_snippet_for(name, opts, defaults={}) click to toggle source
# File lib/dockly/bash_builder.rb, line 8
def self.generate_snippet_for(name, opts, defaults={})
  define_method(name) do |*args|
    zipped_array = opts.zip(args).flatten
    snippet = File.read(File.join(SNIPPET_PATH, "#{name}.erb"))
    hash = Hash[*zipped_array].delete_if { |_,v| v.nil? }
    data = defaults.merge(hash)
    ERB.new(snippet).result(binding)
  end
end