class Enviera::CLI
Public Class Methods
execute()
click to toggle source
# File lib/enviera/CLI.rb, line 38 def self.execute executor = Enviera::Options[:executor] begin result = executor.execute puts result unless result.nil? rescue Exception => e Utils.warn e.message Utils.debug e.backtrace.join("\n") end end
parse()
click to toggle source
# File lib/enviera/CLI.rb, line 10 def self.parse Utils.require_dir 'enviera/subcommands' Enviera.subcommands = Utils.find_all_subclasses_of({ :parent_class => Enviera::Subcommands }).collect {|classname| Utils.snakecase classname} Enviera.subcommand = ARGV.shift subcommand = case Enviera.subcommand when nil ARGV.delete_if {true} "unknown_command" when /^\-/ ARGV.delete_if {true} "help" else Enviera.subcommand end command_class = Subcommand.find subcommand options = command_class.parse options[:executor] = command_class options = command_class.validate options Enviera::Options.set options Enviera::Options.trace end