class Murmur::API::Server
Public Class Methods
new(host, meta, options)
click to toggle source
# File lib/murmur/server.rb, line 8 def initialize(host, meta, options) @host = host @meta = meta if !options[:id] and !options[:interface] options.delete :id options.delete :interface server = @host.new_server_interface @interface = host.add_proxy_router(server) options.each do |key, value| setConf(key, value) end end @interface = @interface || options[:interface] || begin server = @meta.getServer(options[:id]) raise ::Murmur::Ice::InvalidServerException if server.nil? host.add_proxy_router(server) end @channels = {} @users = {} @registered_users = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/murmur/server.rb, line 104 def [](key) key = key.to_s config[key] end
[]=(key, val)
click to toggle source
# File lib/murmur/server.rb, line 109 def []=(key, val) key - key.to_s @interface.setConf(key, val.to_s) @config = nil end
channel(id)
click to toggle source
# File lib/murmur/server.rb, line 44 def channel(id) channels @channels[id] end
channels()
click to toggle source
# File lib/murmur/server.rb, line 50 def channels @channels = {} @interface.getChannels.each do |_, channel| @channels[channel.id] = Channel.new(@host, @meta, self, channel) end @channels end
config()
click to toggle source
# File lib/murmur/server.rb, line 80 def config @config = @meta.getDefaultConf.merge(@interface.getAllConf) end
destroy!()
click to toggle source
# File lib/murmur/server.rb, line 84 def destroy! @interface.stop if running? @host.uncache_server id @interface.delete end
Also aliased as: delete
id()
click to toggle source
# File lib/murmur/server.rb, line 36 def id @interface.id end
method_missing(method, *args)
click to toggle source
# File lib/murmur/server.rb, line 124 def method_missing(method, *args) method = method.to_s method.gsub!(/_([a-z])/) { $1.upcase } ret = @interface.send method, *args end
raw()
click to toggle source
# File lib/murmur/server.rb, line 120 def raw @interface end
registered_users()
click to toggle source
# File lib/murmur/server.rb, line 66 def registered_users @registered_users = {} @interface.getRegisteredUsers.each do |_, user| @registered_users[user.session] = User.new(@host, @meta, self, user) end @registered_users end
restart!()
click to toggle source
# File lib/murmur/server.rb, line 99 def restart! @interface.stop if running? @interface.start end
running?()
click to toggle source
# File lib/murmur/server.rb, line 40 def running? @interface.isRunning end
setConf(key, val)
click to toggle source
# File lib/murmur/server.rb, line 115 def setConf(key, val) key = key.to_s self[key] = val end
start!()
click to toggle source
# File lib/murmur/server.rb, line 91 def start! @interface.start unless running? end
stop!()
click to toggle source
# File lib/murmur/server.rb, line 95 def stop! @interface.stop if running? end
user(session)
click to toggle source
# File lib/murmur/server.rb, line 74 def user(session) users @users[:session] end
users()
click to toggle source
# File lib/murmur/server.rb, line 58 def users @users = {} @interface.getUsers.each do |_, user| @users[user.session] = User.new(@host, @meta, self, user) end @users end