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.



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/sinatra/rocketio/linda/client.rb', line 15

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.



14
15
16
# File 'lib/sinatra/rocketio/linda/client.rb', line 14

def io
  @io
end

#tuplespaceObject (readonly)

Returns the value of attribute tuplespace.



14
15
16
# File 'lib/sinatra/rocketio/linda/client.rb', line 14

def tuplespace
  @tuplespace
end

Instance Method Details

#wait(&block) ⇒ Object



28
29
30
31
32
33
# File 'lib/sinatra/rocketio/linda/client.rb', line 28

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