Class: ConsoleIpc::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/console_ipc/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(context:, socket_path: Connection.socket_path, output: $stdout) ⇒ Server

Returns a new instance of Server.



12
13
14
15
16
# File 'lib/console_ipc/server.rb', line 12

def initialize(context:, socket_path: Connection.socket_path, output: $stdout)
  @evaluator = Evaluator.new(context)
  @socket_path = socket_path
  @output = output
end

Instance Method Details

#startObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/console_ipc/server.rb', line 18

def start
  prepare_socket
  install_signal_handlers

  UNIXServer.open(socket_path) do |server|
    File.chmod(0o600, socket_path)
    @server = server
    @output.puts "console-ipc listening on #{socket_path}"
    yield if block_given?
    serve(server)
  end
ensure
  cleanup_socket
end