Module: Fraggle

Defined in:
lib/fraggle/request.rb,
lib/fraggle.rb,
lib/fraggle/msg.rb,
lib/fraggle/snap.rb,
lib/fraggle/test.rb,
lib/fraggle/client.rb,
lib/fraggle/logger.rb,
lib/fraggle/emitter.rb,
lib/fraggle/protocol.rb,
lib/fraggle/response.rb

Overview

An extension to Response in msg.rb. I want to keep these seperated so when future versions of Beefcake can generate code, we don’t have to manually add this back in for each generation.

Defined Under Namespace

Modules: Client, Emitter, Logger, Protocol, Test Classes: Request, Response, Snap

Class Method Summary collapse

Class Method Details

.connect(uri, *args) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/fraggle.rb', line 6

def self.connect(uri, *args)
  params = uri.gsub(/^doozer:\?/, '').split("&")
  addrs  = []

  params.each do |param|
    k, v = param.split("=")
    if k == "ca" && v =~ /^[\d.]+:\d+$/
      addrs << v
    end
  end

  if addrs.empty?
    fail "The URI (#{uri}) does not contain valid addresses"
  end

  host, port = addrs.first.split(":")
  c = EM.connect(host, port, Client, addrs, *args)
  Snap.new(0, c)
end