class Loco::Hub
Constants
- PREFIX
Public Class Methods
full_name(val)
click to toggle source
# File lib/loco/hub.rb, line 18 def full_name(val) "#{PREFIX}#{val}" end
get(name)
click to toggle source
# File lib/loco/hub.rb, line 12 def get(name) return nil if WsConnectionStorage.current.type("s:#{full_name(name)}") != 'set' new(name) end
new(name, members = [])
click to toggle source
# File lib/loco/hub.rb, line 23 def initialize(name, members = []) @name = self.class.full_name(name) members.map { |member| add_member(member) } end
set(name, members)
click to toggle source
# File lib/loco/hub.rb, line 8 def set(name, members) new(name, members) end
Public Instance Methods
add_member(member)
click to toggle source
# File lib/loco/hub.rb, line 36 def add_member(member) WsConnectionStorage.current.add(@name, WsConnectionIdentifier.(member)) end
del_member(member)
click to toggle source
# File lib/loco/hub.rb, line 40 def del_member(member) WsConnectionStorage.current.rem(@name, WsConnectionIdentifier.(member)) end
destroy()
click to toggle source
# File lib/loco/hub.rb, line 44 def destroy WsConnectionStorage.current.members(@name).each do |member| WsConnectionStorage.current.rem(@name, member) end end
full_name()
click to toggle source
# File lib/loco/hub.rb, line 32 def full_name @name end
include?(resource)
click to toggle source
# File lib/loco/hub.rb, line 50 def include?(resource) WsConnectionStorage.current.member?(@name, WsConnectionIdentifier.(resource)) end
members()
click to toggle source
# File lib/loco/hub.rb, line 58 def members raw_members.map do |serialized| klass, id = serialized.split(':') klass.classify.constantize.find_by(id: id) end end
name()
click to toggle source
# File lib/loco/hub.rb, line 28 def name full_name.split(PREFIX).last end
raw_members()
click to toggle source
# File lib/loco/hub.rb, line 54 def raw_members WsConnectionStorage.current.members(@name) end