Class: Rack::Session::Redic::Storage

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/session/redic.rb

Overview

A wrapper around Redic to simplify calls.

Constant Summary collapse

DELETE =

Redis commands.

'DEL'.freeze
EX =
'EX'.freeze
EXISTS =
'EXISTS'.freeze
GET =
'GET'.freeze
SET =
'SET'.freeze
PACK =

Assorted.

'm'.freeze
ZERO =
0

Instance Method Summary collapse

Constructor Details

#initialize(expires, marshaller, url) ⇒ Storage

Returns a new instance of Storage.



95
96
97
98
99
# File 'lib/rack/session/redic.rb', line 95

def initialize(expires, marshaller, url)
  @expires = expires
  @marshaller = marshaller
  @storage = ::Redic.new(url)
end

Instance Method Details

#delete(id) ⇒ Object



116
117
118
# File 'lib/rack/session/redic.rb', line 116

def delete(id)
  @storage.call(DELETE, id)
end

#exists?(id) ⇒ Boolean

Returns:

  • (Boolean)


101
102
103
# File 'lib/rack/session/redic.rb', line 101

def exists?(id)
  @storage.call(EXISTS, id) != ZERO
end

#get(id) ⇒ Object



105
106
107
# File 'lib/rack/session/redic.rb', line 105

def get(id)
  deserialize(@storage.call(GET, id))
end

#set(id, object) ⇒ Object



109
110
111
112
113
114
# File 'lib/rack/session/redic.rb', line 109

def set(id, object)
  arguments = [SET, id, serialize(object)]
  arguments += [EX, @expires] if @expires

  @storage.call(*arguments)
end