Class: Jefe::EM::ProcessHandler

Inherits:
EM::Connection
  • Object
show all
Includes:
EM::Protocols::LineText2
Defined in:
lib/jefe.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#engineObject

Returns the value of attribute engine.



103
104
105
# File 'lib/jefe.rb', line 103

def engine
  @engine
end

#nameObject

Returns the value of attribute name.



103
104
105
# File 'lib/jefe.rb', line 103

def name
  @name
end

#pidObject

Returns the value of attribute pid.



103
104
105
# File 'lib/jefe.rb', line 103

def pid
  @pid
end

#printerObject

Returns the value of attribute printer.



103
104
105
# File 'lib/jefe.rb', line 103

def printer
  @printer
end

Instance Method Details

#init(name, pid, printer) ⇒ Object



105
106
107
108
109
110
111
# File 'lib/jefe.rb', line 105

def init name, pid, printer
	self.name = name
	self.pid = pid
	self.printer = printer
	
	out "started with pid #{self.pid}"
end

#out(msg) ⇒ Object



122
123
124
# File 'lib/jefe.rb', line 122

def out msg
	self.printer.out self.name, msg
end

#receive_line(data) ⇒ Object



113
114
115
# File 'lib/jefe.rb', line 113

def receive_line data
	out data
end

#stopObject



130
131
132
133
# File 'lib/jefe.rb', line 130

def stop
	self.printer.out "system", "killing #{self}"
	Process.kill("INT", self.pid)
end

#to_sObject



126
127
128
# File 'lib/jefe.rb', line 126

def to_s
	"#{self.name} in pid #{self.pid}"
end

#unbindObject



117
118
119
120
# File 'lib/jefe.rb', line 117

def unbind
	out "process terminated"
	self.engine.unbind self
end