Class: Sinatra::RocketIO::Linda::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/sinatra/rocketio/linda/client.rb

Defined Under Namespace

Classes: TupleSpace

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(io_or_url) ⇒ Client

Returns a new instance of Client.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/sinatra/rocketio/linda/client.rb', line 11

def initialize(io_or_url)
  if io_or_url.kind_of? String and io_or_url =~ /^https?:\/\/.+$/
    @io = Sinatra::RocketIO::Client.new(io_or_url).connect
  elsif io_or_url.kind_of? ::Sinatra::RocketIO::Client
    @io = io_or_url
  else
    raise ArgumentError, "argument must be URL or RocketIO::Client"
  end
  @tuplespace = Hash.new{|h,k|
    h[k] = Sinatra::RocketIO::Linda::Client::TupleSpace.new(k, self)
  }
end

Instance Attribute Details

#ioObject (readonly)

Returns the value of attribute io.



10
11
12
# File 'lib/sinatra/rocketio/linda/client.rb', line 10

def io
  @io
end

#tuplespaceObject (readonly)

Returns the value of attribute tuplespace.



10
11
12
# File 'lib/sinatra/rocketio/linda/client.rb', line 10

def tuplespace
  @tuplespace
end

Instance Method Details

#wait(&block) ⇒ Object



24
25
26
27
28
29
# File 'lib/sinatra/rocketio/linda/client.rb', line 24

def wait(&block)
  loop do
    sleep 1
    yield if block_given?
  end
end