Module: Sinatra::RocketIO::Linda
- Defined in:
- lib/sinatra/rocketio/linda.rb,
lib/sinatra-rocketio-linda/linda.rb,
lib/sinatra-rocketio-linda/tuple.rb,
lib/sinatra-rocketio-linda/helper.rb,
lib/sinatra/rocketio/linda/client.rb,
lib/sinatra-rocketio-linda/options.rb,
lib/sinatra/rocketio/linda/version.rb,
lib/sinatra-rocketio-linda/javascript.rb,
lib/sinatra-rocketio-linda/tuplespace.rb,
lib/sinatra-rocketio-linda/application.rb
Defined Under Namespace
Modules: Helper
Classes: Client, Tuple, TupleSpace
Constant Summary
collapse
- VERSION =
"0.1.4"
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.[](name) ⇒ Object
9
10
11
|
# File 'lib/sinatra-rocketio-linda/linda.rb', line 9
def self.[](name)
self.tuplespaces[name]
end
|
.callbacks ⇒ Object
19
20
21
|
# File 'lib/sinatra-rocketio-linda/linda.rb', line 19
def self.callbacks
@@callbacks ||= Hash.new{|h,k| h[k] = Array.new }
end
|
.check_expire ⇒ Object
13
14
15
16
17
|
# File 'lib/sinatra-rocketio-linda/linda.rb', line 13
def self.check_expire
tuplespaces.values.each do |ts|
ts.check_expire
end
end
|
.default_options ⇒ Object
13
14
15
16
17
|
# File 'lib/sinatra-rocketio-linda/options.rb', line 13
def self.default_options
{
:expire_check => [60, lambda{|v| v.kind_of? Fixnum and v > 0 }]
}
end
|
.javascript(*js_file_names) ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/sinatra-rocketio-linda/javascript.rb', line 5
def self.javascript(*js_file_names)
js_file_names = ['linda.js', 'rocketio.js']
js = ''
js_file_names.each do |i|
js += case i
when 'rocketio.js'
Sinatra::RocketIO.javascript
else
j = ''
File.open(File.expand_path "../js/#{i}", File.dirname(__FILE__)) do |f|
j = f.read
end
j
end + "\n"
end
js
end
|
.options ⇒ Object
19
20
21
22
23
24
25
26
27
|
# File 'lib/sinatra-rocketio-linda/options.rb', line 19
def self.options
@@options ||= (
opts = {}
default_options.each do |k,v|
opts[k] = v[0]
end
opts
)
end
|
.options=(opts) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/sinatra-rocketio-linda/options.rb', line 29
def self.options=(opts)
@@options = {}
opts.each do |k,v|
k = k.to_sym
unless default_options.include? k
STDERR.puts "!! Sinatra::RocketIO::Linda setting - \"#{k}\" is not valid key"
else
unless default_options[k][1].call(v)
default = default_options[k][0]
STDERR.puts "!! Sinatra::RocketIO::Linda setting - \"#{k} => #{v}\" is not valid. set default \"#{k} => #{default}\""
@@options[k] = default
else
@@options[k] = v
end
end
end
default_options.each do |k, v|
@@options[k] = v[0] unless @@options.include? k
end
@@options
end
|
.registered(app) ⇒ Object
5
6
7
8
9
10
11
12
|
# File 'lib/sinatra-rocketio-linda/application.rb', line 5
def self.registered(app)
app.helpers Sinatra::RocketIO::Linda::Helper
app.get '/rocketio/linda.js' do
content_type 'application/javascript'
@js ||= ERB.new(::Sinatra::RocketIO::Linda.javascript).result(binding)
end
end
|
.tuplespaces ⇒ Object
5
6
7
|
# File 'lib/sinatra-rocketio-linda/linda.rb', line 5
def self.tuplespaces
@@spaces ||= Hash.new{|h,k| h[k] = TupleSpace.new(k) }
end
|
Instance Method Details
#linda ⇒ Object
9
10
11
|
# File 'lib/sinatra-rocketio-linda/options.rb', line 9
def linda
Linda.options
end
|
#linda=(options) ⇒ Object
5
6
7
|
# File 'lib/sinatra-rocketio-linda/options.rb', line 5
def linda=(options)
Linda.options = options
end
|