Class: Hardstatus::Controller

Inherits:
EventMachine::Protocols::LineAndTextProtocol
  • Object
show all
Defined in:
lib/hardstatus/controller.rb

Instance Method Summary collapse

Constructor Details

#initialize(hardstatus) ⇒ Controller

Returns a new instance of Controller.



14
15
16
17
18
# File 'lib/hardstatus/controller.rb', line 14

def initialize (hardstatus)
	super

	@hardstatus = hardstatus
end

Instance Method Details

#receive_line(line) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/hardstatus/controller.rb', line 20

def receive_line (line)
	send_line begin
		@hardstatus.render(line.strip.to_sym)
	rescue Exception => e
		e.inspect
	end

	close_connection_after_writing
end

#send_line(line) ⇒ Object

Raises:

  • (ArgumentError)


30
31
32
33
34
# File 'lib/hardstatus/controller.rb', line 30

def send_line (line)
	raise ArgumentError, 'the line already has a newline character' if line.include? "\n"

	send_data line.dup.force_encoding('BINARY') << "\r\n"
end