Sha256: b4a1445a92d830e7519a80c8d4162f6e933cd4fb1a5f6c30de7d1ba9c25e0ebf
Contents?: true
Size: 818 Bytes
Versions: 4
Compression:
Stored size: 818 Bytes
Contents
require 'redis' module Bot class Context attr_accessor :redis_client, :user def initialize(user, redis_client) @redis_client = redis_client @user = user end def method_missing(m, *args, &block) if m =~ /.+=/ self.add(m.to_s.gsub('=', ''), *args) else self.get(m) end end def get(field) data = $redis.hget(context_key, field) JSON.parse(data) if data.present? rescue JSON::ParserError data end def set(context) self.clear $redis.hmset(context_key, context.map { |k, v| [k, v] }.flatten) end def add(field, content) $redis.hset context_key, field, content end def clear $redis.del context_key end def context_key "bot:context:#{user.id}" end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bot-0.0.33 | lib/bot/context.rb |
bot-0.0.32 | lib/bot/context.rb |
bot-0.0.31 | lib/bot/context.rb |
bot-0.0.30 | lib/bot/context.rb |