moneta 0.7.9 → 0.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|