local_cache 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,7 +18,7 @@ class LocalCache < ActiveSupport::Cache::Store
18
18
  @cache_list = []
19
19
  end
20
20
 
21
- def get(key)
21
+ def get(key, options={})
22
22
  # if the API URL exists as a key in cache, we just return it
23
23
  # we also make sure the data is fresh
24
24
  #puts 'looking in cache for: ' + key.to_s
@@ -39,7 +39,7 @@ class LocalCache < ActiveSupport::Cache::Store
39
39
  return nil
40
40
  end
41
41
 
42
- def get_multi(keys, raw=false)
42
+ def get_multi(keys, options={})
43
43
  ret = {}
44
44
  keys.each do |k|
45
45
  val = get(k)
@@ -68,9 +68,8 @@ class LocalCache < ActiveSupport::Cache::Store
68
68
  end
69
69
  end
70
70
 
71
- def put(key, val, seconds_to_store=999999, raw=false)
72
- seconds_to_store = seconds_to_store || @default_expires_in
73
- #puts 'seconds=' + seconds_to_store.to_s
71
+ def put(key, val, options={})
72
+ seconds_to_store = options[:expires_in] || options[:ttl] || @default_expires_in
74
73
  @cache[key] = [Time.now+seconds_to_store, val]
75
74
  @cache_list << key
76
75
  while @cache.size > @size && @cache_list.size > 0
@@ -79,26 +78,26 @@ class LocalCache < ActiveSupport::Cache::Store
79
78
  end
80
79
  end
81
80
 
82
- def read(name, options = nil)
81
+ def read(name, options={})
83
82
  # puts 'read from localcache'
84
83
  super
85
- ret = get(name)
84
+ ret = get(name, options)
86
85
  # puts 'ret.frozen=' + ret.frozen?.to_s
87
86
  return ret
88
87
  end
89
88
 
90
- def write(name, value, options = nil)
89
+ def write(name, value, options={})
91
90
  super
92
- put(name, value, options.nil? ? nil : options[:expires_in])
91
+ put(name, value, options)
93
92
  # puts 'write.frozen=' + value.frozen?.to_s
94
93
  end
95
94
 
96
- def delete(name, options = nil)
95
+ def delete(name, options={})
97
96
  super
98
97
  @cache.delete(name)
99
98
  end
100
99
 
101
- def delete_matched(matcher, options = nil)
100
+ def delete_matched(matcher, options={})
102
101
  super
103
102
  raise "delete_matched not supported by LocalCache"
104
103
  end
@@ -111,4 +110,4 @@ module ActiveSupport
111
110
  class LocalCache < ::LocalCache
112
111
  end
113
112
  end
114
- end
113
+ end
@@ -0,0 +1,14 @@
1
+ require 'test/unit'
2
+ require File.join(File.dirname(__FILE__), "../lib/local_cache")
3
+
4
+ class LocalCacheTests < Test::Unit::TestCase
5
+
6
+ def test_put_get
7
+
8
+ cache = ActiveSupport::Cache::LocalCache.new
9
+ cache.write("tk", "somethign")
10
+ puts 'read=' + cache.read("tk").inspect
11
+
12
+ end
13
+
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: local_cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Reeder
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-21 00:00:00 -07:00
12
+ date: 2009-11-20 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -52,5 +52,5 @@ rubygems_version: 1.3.5
52
52
  signing_key:
53
53
  specification_version: 3
54
54
  summary: Similar to Rails' built in MemoryStore, but adds size limit and expiration.
55
- test_files: []
56
-
55
+ test_files:
56
+ - test/local_cache_tests.rb