Sha256: 49568879bf0620321207c077ae4fa2ef74033896ad0e6d30deccbd27b7837ab2
Contents?: true
Size: 1011 Bytes
Versions: 1
Compression:
Stored size: 1011 Bytes
Contents
require 'celluloid/autostart' require 'socket' require 'terminfo' require 'thor' module Hokaido class CLI < Thor class_option :host, aliases: :h, default: '0.0.0.0' class_option :port, aliases: :p, default: 4423 map '-v' => :version desc :broadcast, 'Broadcast a session' def broadcast(command = ENV['SHELL']) Hokaido::Broadcast::Command.run command, *options.values_at(:host, :port) end desc :server, 'Start server' def server server = Server.run(*options.values_at(:host, :port)) rescue Interrupt exit ensure server.terminate if server end desc :watch, 'Watch a session' def watch server = TCPSocket.open(*options.values_at(:host, :port)) server.puts 'watch' while chunk = server.readpartial(4096) $stdout.write chunk end rescue Interrupt server.close exit end desc :version, 'Show hokaido version' def version say Hokaido::VERSION, :cyan end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hokaido-0.0.6 | lib/hokaido/cli.rb |