Class: Riddl::Utils::OAuth2::Helper::Tokens::Redis

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/riddl/utils/oauth2-helper.rb

Overview

{{{

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Redis

Returns a new instance of Redis.



15
16
17
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 15

def initialize(url)
  @redis = ::Redis.new(:url => url)
end

Instance Method Details

#[](key) ⇒ Object



19
20
21
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 19

def [](key)
  get(key)
end

#delete(key) ⇒ Object



52
53
54
55
56
57
58
59
60
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 52

def delete(key)
  value = nil
  @redis.multi do
    value = @redis.get key
    @redis.del key
    @redis.del value
  end
  value
end

#delete_by_value(value) ⇒ Object



62
63
64
65
66
67
68
69
70
71
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 62

def delete_by_value(value)
  key = nil
  value = value.is_a?(String) ? value.to_s : (JSON::generate(value) rescue {})
  @redis.multi do
    key = @redis.get value
    @redis.del key
    @redis.del value
  end
  key
end

#eachObject



31
32
33
34
35
36
37
38
39
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 31

def each
  if block_given?
    @redis.keys.each do |e| 
      yield e, get(e)
    end
  else
    @redis.keys.lazy.map{|e| [e,get(e)]}
  end
end

#get(key) ⇒ Object



23
24
25
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 23

def get(key)
  @redis.get key
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 27

def key?(key)
  @redis.exists(key)
end

#set(key, value, dur) ⇒ Object



41
42
43
44
45
46
47
48
49
50
# File 'lib/ruby/riddl/utils/oauth2-helper.rb', line 41

def set(key,value,dur)
  value = value.is_a?(String) ? value.to_s : (JSON::generate(value) rescue {})
  @redis.multi do
    @redis.set key, value
    @redis.set value, key
    @redis.expire key, dur
    @redis.expire value, dur
  end
  nil
end