Class: Noeq

Inherits:
Object
  • Object
show all
Defined in:
lib/noeq.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server = 'localhost', port = 4444) ⇒ Noeq

Returns a new instance of Noeq.



11
12
13
14
# File 'lib/noeq.rb', line 11

def initialize(server = 'localhost', port = 4444)
  @server, @port, = server, port
  connect
end

Class Method Details

.generate(n = 1) ⇒ Object



4
5
6
7
8
9
# File 'lib/noeq.rb', line 4

def self.generate(n=1)
  noeq = new
  ids = noeq.generate(n)
  noeq.disconnect
  ids
end

Instance Method Details

#connectObject



16
17
18
# File 'lib/noeq.rb', line 16

def connect
  @socket = TCPSocket.new @server, @port
end

#disconnectObject



20
21
22
# File 'lib/noeq.rb', line 20

def disconnect
  @socket.close rescue false
end

#generate(n = 1) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/noeq.rb', line 24

def generate(n=1)
  @socket.send [n].pack('c'), 0
  ids = (1..n).map { get_id }.compact
  ids.length > 1 ? ids : ids.first
rescue
  disconnect
  connect
  retry
end