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