class Compass::Exec::SubCommandUI
Attributes
args[RW]
Public Class Methods
new(args)
click to toggle source
# File lib/compass/exec/sub_command_ui.rb, line 9 def initialize(args) self.args = args end
Public Instance Methods
run!()
click to toggle source
# File lib/compass/exec/sub_command_ui.rb, line 13 def run! begin return perform! rescue Exception => e raise e if e.is_a? SystemExit if e.is_a?(::Compass::Error) || e.is_a?(OptionParser::ParseError) $stderr.puts e.message else ::Compass::Exec::Helpers.report_error(e, @options || {}) end return 1 end end
Protected Instance Methods
perform!()
click to toggle source
# File lib/compass/exec/sub_command_ui.rb, line 29 def perform! $command = args.shift command_class = Compass::Commands[$command] unless command_class args.unshift($command) $command = "help" command_class = Compass::Commands::Default end @options = if command_class.respond_to?("parse_#{$command}!") command_class.send("parse_#{$command}!", args) else command_class.parse!(args) end cmd = command_class.new(Dir.getwd, @options) cmd.execute cmd.successful? ? 0 : 1 rescue OptionParser::ParseError => e puts "Error: #{e.message}" puts command_class.usage if command_class.respond_to?(:usage) end