Sha256: 8f796626e5506cb860793d4c5c5ca2d41199e7037d834ec02eebef3a7483c576

Contents?: true

Size: 965 Bytes

Versions: 5

Compression:

Stored size: 965 Bytes

Contents

#!/usr/bin/env ruby

require 'learn_generate'


options = {}

OptionParser.new do |opts|
  opts.on('--list', 'List known templates') do |l|
    options[:list] = true
  end

  opts.on('--internet', 'Perform actions with an internet connection') do |i|
    options[:internet] = true
  end
end.parse!

template_loader = LearnGenerate::TemplateLoader.new(options[:internet])
known_templates = template_loader.templates
templates_list  = template_loader.printable_list

my_banner = <<-EOS

  Usage: learn generate <lab-name> -t <template-name>

  Available templates:

  #{templates_list}
EOS

if options[:list]
  puts <<-EOS
  Available templates:

  #{templates_list}
  EOS
elsif !ARGV[0] || !ARGV[1]
  puts my_banner
elsif !known_templates.include?(ARGV[0])
  puts my_banner
else
  if !File.exists?(ARGV[1])
    LearnGenerate::TemplateMaker.run(ARGV[0], ARGV[1])
  else
    puts "#{ARGV[1]} already exists in this directory. Please specify a new lab name."
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
learn-generate-1.0.14 bin/learn-generate
learn-generate-1.0.13 bin/learn-generate
learn-generate-1.0.12 bin/learn-generate
learn-generate-1.0.11 bin/learn-generate
learn-generate-1.0.1 bin/learn-generate