class TeamSpeak3::VirtualServer
Attributes
autostart[R]
clients_online[R]
id[R]
name[R]
port[R]
query_clients_online[R]
server[R]
slots[R]
status[R]
uid[R]
uptime[R]
Public Class Methods
new(server, params)
click to toggle source
# File lib/virtual_server.rb, line 16 def initialize(server, params) @server = server @id = params[:virtualserver_id].to_i @name = params[:virtualserver_name] @port = params[:virtualserver_port].to_i @status = params[:virtualserver_status].to_sym @clients_online = params[:virtualserver_clientsonline].to_i @query_clients_online = params[:virtualserver_queryclientsonline].to_i @slots = params[:virtualserver_maxclients].to_i @uptime = Time.now - params[:virtualserver_uptime].to_i @autostart = params[:virtualserver_uptime].to_i == 1 @uid = params[:virtualserver_unique_identifier] end
Public Instance Methods
==(target)
click to toggle source
# File lib/virtual_server.rb, line 93 def ==(target) @id == target end
channels()
click to toggle source
# File lib/virtual_server.rb, line 60 def channels channels_list = ChannelCollection.new(self) channels = execute :channellist, options: [:topic, :flags, :voice, :limits, :icon] channels[:data].each do |channel| channels_list << Channel.new(self, channel) end channels_list end
clients()
click to toggle source
# File lib/virtual_server.rb, line 71 def clients clients_list = [] clients = execute :clientlist, options: [:uid, :away, :voice, :times, :groups, :info, :icon, :country] clients[:data].each do |client| clients_list << TeamSpeak3::Client.new(self, client) end clients_list end
destroy!()
click to toggle source
# File lib/virtual_server.rb, line 31 def destroy! execute :serverstop, sid: @id, allow_to_fail: true, ignore_active_server: true execute :serverdelete, sid: @id, ignore_active_server: true true end
execute(command, params = {})
click to toggle source
# File lib/virtual_server.rb, line 86 def execute(command, params = {}) check_active_server unless params[:ignore_active_server] params.delete(:ignore_active_server) @server.execute(command, params) end
send_message(message)
click to toggle source
# File lib/virtual_server.rb, line 82 def send_message(message) server.send_message_to(self, message) end
start()
click to toggle source
# File lib/virtual_server.rb, line 38 def start begin execute :serverstart, sid: @id, ignore_active_server: true rescue Exceptions::CommandExecutionFailed => err raise Exceptions::VirtualServerAlreadyRunning.new(@id) if err.message =~ /server got an invalid status/ && status == :online raise end true end
stop()
click to toggle source
# File lib/virtual_server.rb, line 49 def stop begin execute :serverstop, sid: @id, ignore_active_server: true rescue Exceptions::CommandExecutionFailed => err raise Exceptions::VirtualServerNotRunning.new(@id) if err.message =~ /server is not running/ raise end true end
Private Instance Methods
check_active_server()
click to toggle source
# File lib/virtual_server.rb, line 99 def check_active_server if @server.active_server != @id @server.select_server(@id) end end