Sha256: b56cd91b0cdb3c74863aeede5cc7a159db0ed15be2bd173672ffe915b08632b7
Contents?: true
Size: 1.04 KB
Versions: 2
Compression:
Stored size: 1.04 KB
Contents
class Thor class << self def before_hook(method, options = {}) @hook = {} unless @hook @hook[method] = options end def hooks @hook end def send(*args) if args.first == :dispatch && !args[2].empty? running_task = args[2].first @hook.each do |method, options| if options[:only].include?(running_task.to_sym) new.send(method) end end end super end def start(given_args=ARGV, config={}) config[:shell] ||= Thor::Base.shell.new send(:dispatch, nil, given_args.dup, nil, config) rescue Thor::Error => e ENV["THOR_DEBUG"] == "1" ? (raise e) : config[:shell].error(e.message) exit(1) if exit_on_failure? end # We overwrite this method so namespace is show # shelly *backup* restore FILENAME def handle_argument_error(task, error) raise InvocationError, "#{task.name.inspect} was called incorrectly. Call as #{self.banner(task, nil, self.to_s != 'Shelly::CLI::Main').inspect}." end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
shelly-0.1.23 | lib/thor/thor.rb |
shelly-0.1.22 | lib/thor/thor.rb |