module Terminalwire::Thor
def self.included(base)
def self.included(base) base.extend ClassMethods # I have to do this in a block to deal with some of Thor's DSL base.class_eval do extend Forwardable protected no_commands do def_delegators :shell, :context, :session def_delegators :context, :stdout, :stdin, :stderr, :browser def_delegators :stdout, :puts, :print def_delegators :stdin, :gets, :getpass # Feels more naturual to call `client.files` etc. from # the serve since it's more apparent that it's a client. alias :client :context end end end