Module: GemeraldBeanstalk::EventServer

Defined in:
lib/gemerald_beanstalk/event_server.rb

Instance Method Summary collapse

Instance Method Details

#beanstalkObject



3
4
5
# File 'lib/gemerald_beanstalk/event_server.rb', line 3

def beanstalk
  return @beanstalk
end

#initialize(beanstalk) ⇒ Object



8
9
10
11
12
# File 'lib/gemerald_beanstalk/event_server.rb', line 8

def initialize(beanstalk)
  @beanstalk = beanstalk
  @partial_message = ''
  super
end

#post_initObject



15
16
17
# File 'lib/gemerald_beanstalk/event_server.rb', line 15

def post_init
  @connection = beanstalk.connect(self)
end

#receive_data(data) ⇒ Object



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

def receive_data(data)
  if data[-2, 2] == "\r\n"
    message = @partial_message + data
    @partial_message = ''
    EventMachine.defer(proc { @connection.execute(message) })
  else
    @partial_message += data
  end
end

#unbindObject



31
32
33
34
# File 'lib/gemerald_beanstalk/event_server.rb', line 31

def unbind
  beanstalk.disconnect(@connection)
  @connection.close_connection
end