Sha256: b3365099bb445f89a6e56e835e63eff78229874a9b25747b36377a33b0291f82
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require 'nugrant' module Nugrant module Vagrant class UserCommand < ::Vagrant::Command::Base HANDLED_SUBCOMMANDS = [ "parameters", ] def initialize(arguments, environment) super(arguments, environment) @parameters = Nugrant::Parameters.new() @options_parser = initialize_parsers() @print_help = false end def initialize_parsers() parser = OptionParser.new parser.banner = "Usage: vagrant user subcommand [options]" parser.on("-h", "--help", "Print this help") do @print_help end parser.separator "" parser.separator "Available subcommands:" HANDLED_SUBCOMMANDS.each do |subcommand| parser.separator " #{subcommand}" end return parser end def execute() subcommands = parse_options(@options_parser) if not subcommands subcommands = ["parameters"] end subcommands = validate_subcommands(subcommands) if not subcommands safe_puts(@options_parser.help()) return end # At this point, subcommands are valid subcommands.each do |subcommand| execute_subcommand(subcommand) end end def execute_subcommand(subcommand) send(:parameters) end def parameters() parameters = { 'config' => { 'user' => @parameters.get_params() } } safe_puts(parameters.to_yaml(:Separator => "")) end def handled_subcommand?(subcommand) return HANDLED_SUBCOMMANDS.find_index(subcommand) end def validate_subcommands(subcommands) subcommands.each do |subcommand| if not handled_subcommand?(subcommand) puts "Unknown subcommand [#{subcommand}]." return nil end end return subcommands end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nugrant-0.0.11 | lib/nugrant/vagrant/user_command.rb |