class Pytty::Daemon::Cli::ServeCommand
Public Instance Methods
execute()
click to toggle source
# File lib/pytty/daemon/cli/serve_command.rb, line 8 def execute puts "🚽 pyttyd #{Pytty::VERSION}" url_parts = ["http://"] url_parts << if ENV["PYTTY_BIND"] ENV["PYTTY_BIND"] else "127.0.0.1" end url_parts << ":" url_parts << if ENV["PYTTY_PORT"] if ENV["PYTTY_PORT"] == "PORT" ENV.fetch "PORT" else ENV["PYTTY_PORT"] end else "1234" end Async::Reactor.run do |task| Pytty::Daemon.load server_task = task.async do Pytty::Daemon::Api::Server.run url: url_parts.join("") end shutdown = lambda do |signo| puts "\r" puts "Got: #{Signal.signame(signo)}" server_task.stop Pytty::Daemon.yields.each do |id,process_yield| process_yield.signal "kill" puts id end puts "bye." end Signal.trap "INT", shutdown Signal.trap "TERM", shutdown end end