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