Class: SlackBot::Ext::RedisSession

Inherits:
Object
  • Object
show all
Defined in:
lib/slack/ext/redis_session.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(team_id, args = {}) ⇒ RedisSession

Returns a new instance of RedisSession.



5
6
7
8
9
10
# File 'lib/slack/ext/redis_session.rb', line 5

def initialize(team_id, args={})
  @prefix = args[:prefix] || "team:#{team_id}:"
  @store = args[:store]
  @user_scoped = Hash.new
  @channel_scoped = Hash.new
end

Instance Attribute Details

#prefixObject (readonly)

Returns the value of attribute prefix.



3
4
5
# File 'lib/slack/ext/redis_session.rb', line 3

def prefix
  @prefix
end

Instance Method Details

#[](key) ⇒ Object



12
13
14
# File 'lib/slack/ext/redis_session.rb', line 12

def [](key)
  @store["#{@prefix}#{key}"]
end

#[]=(key, val) ⇒ Object



16
17
18
# File 'lib/slack/ext/redis_session.rb', line 16

def []=(key, val)
  @store["#{@prefix}#{key}"] = val
end

#coreObject



28
29
30
# File 'lib/slack/ext/redis_session.rb', line 28

def core
  @store
end

#for_channel(id) ⇒ Object



24
25
26
# File 'lib/slack/ext/redis_session.rb', line 24

def for_channel(id)
  @channel_scoped[id] ||= RedisSession.new(nil, prefix: "#{@prefix}channel:#{id}:", store: @store)
end

#for_user(id) ⇒ Object



20
21
22
# File 'lib/slack/ext/redis_session.rb', line 20

def for_user(id)
  @user_scoped[id] ||= RedisSession.new(nil, prefix: "#{@prefix}user:#{id}:", store: @store)
end

#to_sObject



32
33
34
# File 'lib/slack/ext/redis_session.rb', line 32

def to_s
  @store.to_s
end