class Templateur::CLI

Public Class Methods

new() click to toggle source
# File lib/templateur/cli.rb, line 5
def initialize
  @renderer = Renderer.new
end

Public Instance Methods

run(*args) click to toggle source
# File lib/templateur/cli.rb, line 9
def run(*args)
  if args.count < 3
    usage()
    exit(1)
  end

  format = args.shift[2..-1]
  template = load_file(args.shift)
  parameters = YAML.load(load_file(args.shift))
  rendered = @renderer.render(template, parameters)

  case format
    when 'json'
      puts JSON.pretty_generate(rendered)
    when 'yaml'
      puts YAML.dump(rendered)
  end
end

Private Instance Methods

load_file(path) click to toggle source
# File lib/templateur/cli.rb, line 30
def load_file(path)
  f = File.open(path)
  data = f.read
  f.close

  data
end
usage() click to toggle source
# File lib/templateur/cli.rb, line 38
def usage()
  STDERR.puts('USAGE: templateur (--yaml/--json) TEMPLATE PARAMETERS')
end