module Sinatra::RocketIO::Linda
Constants
- VERSION
Public Class Methods
[](name)
click to toggle source
# File lib/sinatra-rocketio-linda/linda.rb, line 9 def self.[](name) self.tuplespaces[name] end
callbacks()
click to toggle source
# File lib/sinatra-rocketio-linda/linda.rb, line 19 def self.callbacks @@callbacks ||= Hash.new{|h,k| h[k] = Array.new } end
check_expire()
click to toggle source
# 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()
click to toggle source
# 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)
click to toggle source
# 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()
click to toggle source
# 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)
click to toggle source
# 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)
click to toggle source
# 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()
click to toggle source
# File lib/sinatra-rocketio-linda/linda.rb, line 5 def self.tuplespaces @@spaces ||= Hash.new{|h,k| h[k] = TupleSpace.new(k) } end
Public Instance Methods
linda()
click to toggle source
# File lib/sinatra-rocketio-linda/options.rb, line 9 def linda Linda.options end
linda=(options)
click to toggle source
# File lib/sinatra-rocketio-linda/options.rb, line 5 def linda=(options) Linda.options = options end