Class: Epi::Daemon::Receiver

Inherits:
Connection
  • Object
show all
Defined in:
lib/epi/daemon/receiver.rb

Instance Method Summary collapse

Instance Method Details

#loggerObject



7
8
9
# File 'lib/epi/daemon/receiver.rb', line 7

def logger
  Epi.logger
end


31
32
33
# File 'lib/epi/daemon/receiver.rb', line 31

def print(text)
  send_object print: text.to_s
end

#puts(text) ⇒ Object



27
28
29
# File 'lib/epi/daemon/receiver.rb', line 27

def puts(text)
  print "#{text}\n"
end

#receive_object(data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/epi/daemon/receiver.rb', line 11

def receive_object(data)
  logger.debug "Received message of type '#{data[:type]}'"
  begin
    Responder.run(self, data.delete(:type).to_s, data) { |result| send_object result: result }
  rescue Exceptions::Shutdown
    send_object result: nil
    Daemon.shutdown
  rescue => error
    send_object error: {
        class: error.class.name,
        message: error.message,
        backtrace: error.backtrace
    }
  end
end