moneta 0.7.9 → 0.7.10
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +2 -2
- data/CHANGES +6 -0
- data/Gemfile +2 -0
- data/README.md +7 -4
- data/Rakefile +2 -2
- data/lib/moneta.rb +1 -0
- data/lib/moneta/adapters/activerecord.rb +1 -2
- data/lib/moneta/adapters/cassandra.rb +31 -26
- data/lib/moneta/adapters/cookie.rb +2 -2
- data/lib/moneta/adapters/couch.rb +5 -3
- data/lib/moneta/adapters/daybreak.rb +13 -9
- data/lib/moneta/adapters/dbm.rb +7 -3
- data/lib/moneta/adapters/file.rb +4 -3
- data/lib/moneta/adapters/fog.rb +5 -2
- data/lib/moneta/adapters/gdbm.rb +7 -3
- data/lib/moneta/adapters/hbase.rb +11 -9
- data/lib/moneta/adapters/kyotocabinet.rb +13 -8
- data/lib/moneta/adapters/leveldb.rb +9 -5
- data/lib/moneta/adapters/localmemcache.rb +7 -3
- data/lib/moneta/adapters/memcached/dalli.rb +16 -11
- data/lib/moneta/adapters/memcached/native.rb +20 -15
- data/lib/moneta/adapters/memory.rb +2 -1
- data/lib/moneta/adapters/mongo.rb +13 -8
- data/lib/moneta/adapters/pstore.rb +24 -21
- data/lib/moneta/adapters/redis.rb +14 -12
- data/lib/moneta/adapters/restclient.rb +10 -7
- data/lib/moneta/adapters/riak.rb +5 -1
- data/lib/moneta/adapters/sdbm.rb +7 -3
- data/lib/moneta/adapters/sequel.rb +13 -8
- data/lib/moneta/adapters/sqlite.rb +15 -10
- data/lib/moneta/adapters/tdb.rb +8 -4
- data/lib/moneta/adapters/tokyocabinet.rb +15 -10
- data/lib/moneta/adapters/tokyotyrant.rb +107 -0
- data/lib/moneta/cache.rb +17 -17
- data/lib/moneta/mixins.rb +7 -5
- data/lib/moneta/version.rb +1 -1
- data/lib/rack/moneta_store.rb +1 -1
- data/lib/rack/session/moneta.rb +6 -3
- data/script/benchmarks +28 -28
- data/script/generate-specs +96 -41
- data/script/memusage +40 -0
- data/script/start-services +1 -0
- data/spec/helper.rb +4 -1
- data/spec/moneta/adapter_tokyotyrant_spec.rb +30 -0
- data/spec/moneta/cache_file_memory_spec.rb +3 -3
- data/spec/moneta/cache_memory_null_spec.rb +1 -1
- data/spec/moneta/simple_tokyotyrant_spec.rb +155 -0
- data/spec/moneta/simple_tokyotyrant_with_expires_spec.rb +157 -0
- data/spec/monetaspecs.rb +79 -37
- data/spec/rack/moneta_store_spec.rb +1 -1
- data/spec/rack/session_moneta_spec.rb +27 -0
- metadata +10 -3
@@ -47,7 +47,7 @@ describe Rack::MonetaStore do
|
|
47
47
|
uncached_store['key'] = 'value'
|
48
48
|
get do
|
49
49
|
expect(@store['key']).to eql('value')
|
50
|
-
expect(@store.
|
50
|
+
expect(@store.adapter).to equal(uncached_store)
|
51
51
|
expect(@store.cache['key']).to eql('value')
|
52
52
|
end
|
53
53
|
end
|
@@ -302,4 +302,31 @@ describe Rack::Session::Moneta do
|
|
302
302
|
session['counter'].should.be.nil?
|
303
303
|
session['foo'].should == 'bar'
|
304
304
|
end
|
305
|
+
|
306
|
+
it "does not suffer a race-condition in get_session" do
|
307
|
+
# By lying about existence of a key this proxy tricks the session
|
308
|
+
# to overwrite values when it wouldn't normally.
|
309
|
+
broken_key = Class.new(::Moneta::Proxy) do
|
310
|
+
def key?(key, *args)
|
311
|
+
false
|
312
|
+
end
|
313
|
+
end
|
314
|
+
|
315
|
+
pool = Rack::Session::Moneta.new(incrementor) do
|
316
|
+
use broken_key
|
317
|
+
adapter :Memory
|
318
|
+
end
|
319
|
+
|
320
|
+
# Override the SID generator with one that returns predefined values.
|
321
|
+
gen = ["deadbeef", "deadbeef", "caffee"]
|
322
|
+
def gen.hex(_)
|
323
|
+
shift || raise("Empty!")
|
324
|
+
end
|
325
|
+
pool.instance_variable_set(:@sid_secure, gen)
|
326
|
+
req = Rack::MockRequest.new(pool)
|
327
|
+
req.get('/')
|
328
|
+
res = req.get('/')
|
329
|
+
res['Set-Cookie'].should =~ /\Arack.session=caffee; /
|
330
|
+
end
|
331
|
+
|
305
332
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moneta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2013-
|
14
|
+
date: 2013-02-02 00:00:00.000000000 Z
|
15
15
|
dependencies: []
|
16
16
|
description: A unified interface to key/value stores
|
17
17
|
email:
|
@@ -68,6 +68,7 @@ files:
|
|
68
68
|
- lib/moneta/adapters/sqlite.rb
|
69
69
|
- lib/moneta/adapters/tdb.rb
|
70
70
|
- lib/moneta/adapters/tokyocabinet.rb
|
71
|
+
- lib/moneta/adapters/tokyotyrant.rb
|
71
72
|
- lib/moneta/adapters/yaml.rb
|
72
73
|
- lib/moneta/builder.rb
|
73
74
|
- lib/moneta/cache.rb
|
@@ -100,6 +101,7 @@ files:
|
|
100
101
|
- script/install-bundle
|
101
102
|
- script/install-kyotocabinet
|
102
103
|
- script/kill-travis
|
104
|
+
- script/memusage
|
103
105
|
- script/start-services
|
104
106
|
- script/upload-bundle
|
105
107
|
- spec/action_dispatch/fixtures/session_autoload_test/foo.rb
|
@@ -143,6 +145,7 @@ files:
|
|
143
145
|
- spec/moneta/adapter_tdb_spec.rb
|
144
146
|
- spec/moneta/adapter_tokyocabinet_bdb_spec.rb
|
145
147
|
- spec/moneta/adapter_tokyocabinet_hdb_spec.rb
|
148
|
+
- spec/moneta/adapter_tokyotyrant_spec.rb
|
146
149
|
- spec/moneta/adapter_yaml_spec.rb
|
147
150
|
- spec/moneta/cache_file_memory_spec.rb
|
148
151
|
- spec/moneta/cache_memory_null_spec.rb
|
@@ -220,6 +223,8 @@ files:
|
|
220
223
|
- spec/moneta/simple_tdb_with_expires_spec.rb
|
221
224
|
- spec/moneta/simple_tokyocabinet_spec.rb
|
222
225
|
- spec/moneta/simple_tokyocabinet_with_expires_spec.rb
|
226
|
+
- spec/moneta/simple_tokyotyrant_spec.rb
|
227
|
+
- spec/moneta/simple_tokyotyrant_with_expires_spec.rb
|
223
228
|
- spec/moneta/simple_yaml_spec.rb
|
224
229
|
- spec/moneta/simple_yaml_with_expires_spec.rb
|
225
230
|
- spec/moneta/stack_file_memory_spec.rb
|
@@ -332,6 +337,7 @@ test_files:
|
|
332
337
|
- spec/moneta/adapter_tdb_spec.rb
|
333
338
|
- spec/moneta/adapter_tokyocabinet_bdb_spec.rb
|
334
339
|
- spec/moneta/adapter_tokyocabinet_hdb_spec.rb
|
340
|
+
- spec/moneta/adapter_tokyotyrant_spec.rb
|
335
341
|
- spec/moneta/adapter_yaml_spec.rb
|
336
342
|
- spec/moneta/cache_file_memory_spec.rb
|
337
343
|
- spec/moneta/cache_memory_null_spec.rb
|
@@ -409,6 +415,8 @@ test_files:
|
|
409
415
|
- spec/moneta/simple_tdb_with_expires_spec.rb
|
410
416
|
- spec/moneta/simple_tokyocabinet_spec.rb
|
411
417
|
- spec/moneta/simple_tokyocabinet_with_expires_spec.rb
|
418
|
+
- spec/moneta/simple_tokyotyrant_spec.rb
|
419
|
+
- spec/moneta/simple_tokyotyrant_with_expires_spec.rb
|
412
420
|
- spec/moneta/simple_yaml_spec.rb
|
413
421
|
- spec/moneta/simple_yaml_with_expires_spec.rb
|
414
422
|
- spec/moneta/stack_file_memory_spec.rb
|
@@ -454,4 +462,3 @@ test_files:
|
|
454
462
|
- spec/rack/moneta_cookies_spec.rb
|
455
463
|
- spec/rack/moneta_store_spec.rb
|
456
464
|
- spec/rack/session_moneta_spec.rb
|
457
|
-
has_rdoc:
|