Class: ActiveStore::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/active_store/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(connection_string, namespace, default_ttl) ⇒ Connection

Returns a new instance of Connection.



8
9
10
11
12
# File 'lib/active_store/connection.rb', line 8

def initialize(connection_string, namespace, default_ttl)
  @connection_string = connection_string
  @namespace = namespace
  @default_ttl = default_ttl
end

Instance Attribute Details

#connection_stringObject

Returns the value of attribute connection_string.



6
7
8
# File 'lib/active_store/connection.rb', line 6

def connection_string
  @connection_string
end

#default_ttlObject

Returns the value of attribute default_ttl.



6
7
8
# File 'lib/active_store/connection.rb', line 6

def default_ttl
  @default_ttl
end

#namespaceObject

Returns the value of attribute namespace.



6
7
8
# File 'lib/active_store/connection.rb', line 6

def namespace
  @namespace
end

#storeObject



67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/active_store/connection.rb', line 67

def store
  unless @store
    @store = Dalli::Client.new(connection_string, :namespace => namespace, :expires_in => default_ttl, :socket_timeout => 1)
    begin
      @store.get('test')
    rescue Dalli::RingError => e
      @store = nil
      raise e
    end
  end
  @store
end

Instance Method Details

#add(key, value, ttl = default_ttl) ⇒ Object



44
45
46
# File 'lib/active_store/connection.rb', line 44

def add (key, value, ttl=default_ttl)
  add_raw(key, dump(value), ttl)
end

#add_raw(key, value, ttl = default_ttl) ⇒ Object



63
64
65
# File 'lib/active_store/connection.rb', line 63

def add_raw(key, value, ttl=default_ttl)
  store.add(key, value, ttl, :raw => true)
end

#cas(key, ttl = default_ttl) ⇒ Object



48
49
50
51
52
53
# File 'lib/active_store/connection.rb', line 48

def cas (key, ttl=default_ttl)
  store.cas(key, ttl, :raw => true) do |value|
    raw_output = yield load(value)
    dump(raw_output)
  end
end

#delete(*args) ⇒ Object



32
33
34
# File 'lib/active_store/connection.rb', line 32

def delete(*args)
  store.delete(*args)
end

#flush_allObject



24
25
26
# File 'lib/active_store/connection.rb', line 24

def flush_all
  store.flush_all
end

#get(key) ⇒ Object



36
37
38
# File 'lib/active_store/connection.rb', line 36

def get (key)
  load(get_raw(key))
end

#get_raw(key) ⇒ Object



55
56
57
# File 'lib/active_store/connection.rb', line 55

def get_raw(key)
  store.get(key)
end

#incr(*args) ⇒ Object



28
29
30
# File 'lib/active_store/connection.rb', line 28

def incr(*args)
  store.incr(*args)
end

#set(key, value, ttl = default_ttl) ⇒ Object



40
41
42
# File 'lib/active_store/connection.rb', line 40

def set (key, value, ttl=default_ttl)
  set_raw(key, dump(value), ttl)
end

#set_raw(key, value, ttl = default_ttl) ⇒ Object



59
60
61
# File 'lib/active_store/connection.rb', line 59

def set_raw(key, value, ttl=default_ttl)
  store.set(key, value, ttl, :raw => true)
end