module Tupperware

Constants

VERSION

Public Class Methods

main() click to toggle source
# File lib/tupperware.rb, line 210
def self.main
  options = {instance: nil, provision: nil, pre_package: nil}
  OptionParser.new do |opts|
    opts.banner = "Usage: tupperware [-h][-i INSTANCE][-p EXECUTABLE][-k EXECUTABLE]"
    opts.program_name = "tupperware"
    opts.on("-h", "--help", "Display this help output") do |h| 
      puts opts.help
      exit
    end
    opts.on("-i", "--instance", "Optional: Kitchen instance to be packaged", :REQUIRED) do |i| 
      options[:instance] = i
    end
    opts.on("-p", "--provision", "Optional: Path to script to provision the instance", :REQUIRED) do |p| 
      options[:provision] = p
    end
    opts.on("-k","--pre-package", "Optional: Path to Ruby code to execute on the workstation prior to packaging", :REQUIRED) do |k|
      options[:pre_package] = k
    end

  end.parse!

  packager = Tupperware::Base.new(options)
  packager.package

end