class Murmur::API::User

Public Class Methods

new(host, meta, server, user) click to toggle source
# File lib/murmur/user.rb, line 5
def initialize(host, meta, server, user)
    @host = host
    @meta = meta
    @server = server
    @user = user
end

Public Instance Methods

bytes_per_sec() click to toggle source
# File lib/murmur/user.rb, line 118
def bytes_per_sec
    @user.bytespersec
end
channel() click to toggle source
# File lib/murmur/user.rb, line 88
def channel
    @server.channel @user.channel
end
channel=(channel) click to toggle source
# File lib/murmur/user.rb, line 92
def channel=(channel)
    @user.channel = channel
    update
end
clientdeafened=(clientdeafened) click to toggle source
# File lib/murmur/user.rb, line 74
def clientdeafened=(clientdeafened)
    @user.selfDeaf = clientdeafened
    update
end
clientdeafened?() click to toggle source
# File lib/murmur/user.rb, line 70
def clientdeafened?
    @user.selfDeaf
end
clientmuted=(clientmuted) click to toggle source
# File lib/murmur/user.rb, line 65
def clientmuted=(clientmuted)
    @user.selfMute = clientmuted
    update
end
clientmuted?() click to toggle source
# File lib/murmur/user.rb, line 61
def clientmuted?
    @user.selfMute
end
comment() click to toggle source
# File lib/murmur/user.rb, line 146
def comment
    @user.comment
end
comment=(comment) click to toggle source
# File lib/murmur/user.rb, line 150
def comment=(comment)
    @user.comment = comment
    update
end
context() click to toggle source
# File lib/murmur/user.rb, line 142
def context
    @user.context
end
deafened=(deafened) click to toggle source
# File lib/murmur/user.rb, line 38
def deafened=(deafened)
    @user.deaf = deafened
    update
end
deafened?() click to toggle source
# File lib/murmur/user.rb, line 34
def deafened?
    @user.deaf
end
id()
Alias for: session
identity() click to toggle source
# File lib/murmur/user.rb, line 138
def identity
    @user.identity
end
kick!(reason="Kicked by server") click to toggle source
# File lib/murmur/user.rb, line 176
def kick!(reason="Kicked by server")
    @server.kickUser(@user.session, reason)
end
muted=(muted) click to toggle source
# File lib/murmur/user.rb, line 29
def muted=(muted)
    @user.mute = muted
    update
end
muted?() click to toggle source
# File lib/murmur/user.rb, line 25
def muted?
    @user.mute
end
name() click to toggle source
# File lib/murmur/user.rb, line 101
def name
    @user.name
end
name=(name) click to toggle source
# File lib/murmur/user.rb, line 105
def name=(name)
    @user.name = name
    update
end
os() click to toggle source
# File lib/murmur/user.rb, line 130
def os
    @user.os
end
os_version() click to toggle source
# File lib/murmur/user.rb, line 134
def os_version
    @user.osversion
end
ping() click to toggle source
# File lib/murmur/user.rb, line 164
def ping
    {:udp => @user.udpPing, :tcp => @user.tcpPing}
end
priorityspeaker=(priorityspeaker) click to toggle source
# File lib/murmur/user.rb, line 56
def priorityspeaker=(priorityspeaker)
    @user.prioritySpeaker = priorityspeaker
    update
end
priorityspeaker?() click to toggle source
# File lib/murmur/user.rb, line 52
def priorityspeaker?
    @user.prioritySpeaker
end
raw() click to toggle source
# File lib/murmur/user.rb, line 180
def raw
    @user
end
recording=(recording) click to toggle source
# File lib/murmur/user.rb, line 83
def recording=(recording)
    @user.recording
    update
end
recording?() click to toggle source
# File lib/murmur/user.rb, line 79
def recording?
    @user.recording
end
registered?() click to toggle source
# File lib/murmur/user.rb, line 21
def registered?
    @user.userid != -1
end
release() click to toggle source
# File lib/murmur/user.rb, line 126
def release
    @user.release
end
seconds_connected() click to toggle source
# File lib/murmur/user.rb, line 110
def seconds_connected
    @user.onlinesecs 
end
seconds_idle() click to toggle source
# File lib/murmur/user.rb, line 114
def seconds_idle
    @user.idlesecs
end
server() click to toggle source
# File lib/murmur/user.rb, line 97
def server
    @server
end
session() click to toggle source
# File lib/murmur/user.rb, line 12
def session
    @user.session
end
Also aliased as: id
suppressed=(suppressed) click to toggle source
# File lib/murmur/user.rb, line 47
def suppressed=(suppressed)
    @user.suppress = suppressed
    update
end
suppressed?() click to toggle source
# File lib/murmur/user.rb, line 43
def suppressed?
    @user.suppress
end
tcpPing() click to toggle source
# File lib/murmur/user.rb, line 172
def tcpPing
    ping[:tcp]
end
tcponly=(tcponly) click to toggle source
# File lib/murmur/user.rb, line 159
def tcponly=(tcponly)
    @user.tcponly = tcponly
    update
end
tcponly?() click to toggle source
# File lib/murmur/user.rb, line 155
def tcponly?
    @user.tcponly
end
udpPing() click to toggle source
# File lib/murmur/user.rb, line 168
def udpPing
    ping[:udp]
end
userid() click to toggle source
# File lib/murmur/user.rb, line 17
def userid
    @user.userid
end
version() click to toggle source
# File lib/murmur/user.rb, line 122
def version
    @user.version
end

Private Instance Methods

update() click to toggle source
# File lib/murmur/user.rb, line 186
def update
    user_state = @server.getState(id)

    {
        :muted? => :mute,
        :deafened? => :deaf,
        :suppressed? => :suppress,
        :priorityspeaker? => :prioritySpeaker,
        :clientmuted? => :selfMute,
        :clientdeafened? => :selfDeaf,
        :recording? => :recording,
        :tcponly? => :tcponly,
        :name => :name
    }.each do |local, state|
        user_state.send("#{state}=", send(local))
    end

    # Set 'channel' normally.
    user_state.channel = channel.id

    @server.setState(user_state)
end