Class: Beans::BeanServer
- Inherits:
-
Object
- Object
- Beans::BeanServer
- Defined in:
- lib/beans/bean_server.rb
Instance Method Summary collapse
-
#initialize(opts = {}) ⇒ BeanServer
constructor
A new instance of BeanServer.
-
#respond(&block) ⇒ Object
def in_background_loop &block Thread.start do loop do begin block.call rescue StandardError => e $stderr.puts “#ee.exception: #ee.message” $stderr.puts e.backtrace end end end end.
Constructor Details
#initialize(opts = {}) ⇒ BeanServer
Returns a new instance of BeanServer.
6 7 8 9 |
# File 'lib/beans/bean_server.rb', line 6 def initialize(opts={}) opts[:port] ||= Config.port @server = TCPServer.new(opts[:port]) end |
Instance Method Details
#respond(&block) ⇒ Object
def in_background_loop &block
Thread.start do
loop do
begin
block.call
rescue StandardError => e
$stderr.puts "#{e.exception}: #{e.message}"
$stderr.puts e.backtrace
end
end
end
end
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/beans/bean_server.rb', line 26 def respond &block #puts "Listening for bean counters on port #{opts[:port]}..." loop do Thread.start(@server.accept) do |client| begin response = block.call( client.gets ) client.puts response client.close rescue StandardError => e $stderr.puts "#{e.exception}: #{e.}" $stderr.puts e.backtrace end end end end |