class SlackBot::Ext::RedisSession

Attributes

prefix[R]

Public Class Methods

new(team_id, args={}) click to toggle source
# File lib/slack/ext/redis_session.rb, line 7
def initialize(team_id, args={})
  @prefix = args[:prefix] || "team:#{team_id}:"
  @store = args[:store]
  @user_scoped = Hash.new
  @channel_scoped = Hash.new
end

Public Instance Methods

[](key) click to toggle source
# File lib/slack/ext/redis_session.rb, line 14
def [](key)
  val = @store["#{@prefix}#{key}"]
  JSON.parse(val, quirks_mode: true) if val
end
[]=(key, val) click to toggle source
# File lib/slack/ext/redis_session.rb, line 19
def []=(key, val)
  @store["#{@prefix}#{key}"] = val.to_json
end
core() click to toggle source
# File lib/slack/ext/redis_session.rb, line 31
def core
  @store
end
for_channel(id) click to toggle source
# File lib/slack/ext/redis_session.rb, line 27
def for_channel(id)
  @channel_scoped[id] ||= RedisSession.new(nil, prefix: "#{@prefix}channel:#{id}:", store: @store)
end
for_user(id) click to toggle source
# File lib/slack/ext/redis_session.rb, line 23
def for_user(id)
  @user_scoped[id] ||= RedisSession.new(nil, prefix: "#{@prefix}user:#{id}:", store: @store)
end
to_s() click to toggle source
# File lib/slack/ext/redis_session.rb, line 35
def to_s
  @store.to_s
end