moneta 0.7.13 → 0.7.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. data/.travis.yml +2 -0
  2. data/CHANGES +5 -0
  3. data/Rakefile +7 -2
  4. data/lib/moneta/adapters/activerecord.rb +68 -27
  5. data/lib/moneta/adapters/file.rb +7 -5
  6. data/lib/moneta/adapters/sequel.rb +1 -1
  7. data/lib/moneta/transformer/config.rb +2 -2
  8. data/lib/moneta/version.rb +1 -1
  9. data/script/benchmarks +2 -1
  10. data/script/generate-specs +60 -16
  11. data/spec/moneta/adapter_activerecord_exisiting_connection_spec.rb +31 -0
  12. data/spec/moneta/adapter_activerecord_spec.rb +23 -4
  13. data/spec/moneta/adapter_cassandra_spec.rb +1 -0
  14. data/spec/moneta/adapter_cassandra_with_default_expires_spec.rb +1 -0
  15. data/spec/moneta/adapter_client_spec.rb +2 -1
  16. data/spec/moneta/adapter_cookie_spec.rb +1 -0
  17. data/spec/moneta/adapter_couch_spec.rb +1 -0
  18. data/spec/moneta/adapter_datamapper_spec.rb +3 -2
  19. data/spec/moneta/adapter_daybreak_spec.rb +1 -0
  20. data/spec/moneta/adapter_dbm_spec.rb +1 -0
  21. data/spec/moneta/adapter_file_spec.rb +1 -0
  22. data/spec/moneta/adapter_fog_spec.rb +3 -2
  23. data/spec/moneta/adapter_gdbm_spec.rb +1 -0
  24. data/spec/moneta/adapter_hbase_spec.rb +1 -0
  25. data/spec/moneta/adapter_kyotocabinet_spec.rb +1 -0
  26. data/spec/moneta/adapter_leveldb_spec.rb +1 -0
  27. data/spec/moneta/adapter_localmemcache_spec.rb +1 -0
  28. data/spec/moneta/adapter_lruhash_spec.rb +1 -0
  29. data/spec/moneta/adapter_memcached_dalli_spec.rb +1 -0
  30. data/spec/moneta/adapter_memcached_dalli_with_default_expires_spec.rb +1 -0
  31. data/spec/moneta/adapter_memcached_native_spec.rb +1 -0
  32. data/spec/moneta/adapter_memcached_native_with_default_expires_spec.rb +1 -0
  33. data/spec/moneta/adapter_memcached_spec.rb +1 -0
  34. data/spec/moneta/adapter_memcached_with_default_expires_spec.rb +1 -0
  35. data/spec/moneta/adapter_memory_spec.rb +1 -0
  36. data/spec/moneta/adapter_mongo_spec.rb +1 -0
  37. data/spec/moneta/adapter_mongo_with_default_expires_spec.rb +1 -0
  38. data/spec/moneta/adapter_pstore_spec.rb +1 -0
  39. data/spec/moneta/adapter_redis_spec.rb +1 -0
  40. data/spec/moneta/adapter_redis_with_default_expires_spec.rb +1 -0
  41. data/spec/moneta/adapter_restclient_spec.rb +2 -1
  42. data/spec/moneta/adapter_riak_spec.rb +5 -4
  43. data/spec/moneta/adapter_sequel_spec.rb +1 -0
  44. data/spec/moneta/adapter_sqlite_spec.rb +1 -0
  45. data/spec/moneta/adapter_tdb_spec.rb +1 -0
  46. data/spec/moneta/adapter_tokyocabinet_bdb_spec.rb +1 -0
  47. data/spec/moneta/adapter_tokyocabinet_hdb_spec.rb +1 -0
  48. data/spec/moneta/adapter_tokyotyrant_spec.rb +1 -0
  49. data/spec/moneta/adapter_yaml_spec.rb +1 -0
  50. data/spec/moneta/cache_file_memory_spec.rb +1 -0
  51. data/spec/moneta/cache_memory_null_spec.rb +1 -0
  52. data/spec/moneta/expires_file_spec.rb +1 -0
  53. data/spec/moneta/expires_memory_spec.rb +1 -0
  54. data/spec/moneta/expires_memory_with_default_expires_spec.rb +1 -0
  55. data/spec/moneta/lock_spec.rb +1 -0
  56. data/spec/moneta/pool_spec.rb +1 -0
  57. data/spec/moneta/proxy_expires_memory_spec.rb +1 -0
  58. data/spec/moneta/proxy_redis_spec.rb +1 -0
  59. data/spec/moneta/shared_tcp_spec.rb +1 -0
  60. data/spec/moneta/shared_unix_spec.rb +1 -0
  61. data/spec/moneta/simple_activerecord_spec.rb +1 -0
  62. data/spec/moneta/simple_activerecord_with_expires_spec.rb +1 -0
  63. data/spec/moneta/simple_cassandra_spec.rb +1 -0
  64. data/spec/moneta/simple_client_tcp_spec.rb +2 -1
  65. data/spec/moneta/simple_client_unix_spec.rb +2 -1
  66. data/spec/moneta/simple_couch_spec.rb +1 -0
  67. data/spec/moneta/simple_couch_with_expires_spec.rb +1 -0
  68. data/spec/moneta/simple_datamapper_spec.rb +3 -2
  69. data/spec/moneta/simple_datamapper_with_expires_spec.rb +3 -2
  70. data/spec/moneta/simple_datamapper_with_repository_spec.rb +3 -2
  71. data/spec/moneta/simple_daybreak_spec.rb +1 -0
  72. data/spec/moneta/simple_daybreak_with_expires_spec.rb +1 -0
  73. data/spec/moneta/simple_dbm_spec.rb +1 -0
  74. data/spec/moneta/simple_dbm_with_expires_spec.rb +1 -0
  75. data/spec/moneta/simple_file_spec.rb +1 -0
  76. data/spec/moneta/simple_file_with_expires_spec.rb +1 -0
  77. data/spec/moneta/simple_fog_spec.rb +3 -2
  78. data/spec/moneta/simple_fog_with_expires_spec.rb +3 -2
  79. data/spec/moneta/simple_gdbm_spec.rb +1 -0
  80. data/spec/moneta/simple_gdbm_with_expires_spec.rb +1 -0
  81. data/spec/moneta/simple_hashfile_spec.rb +1 -0
  82. data/spec/moneta/simple_hashfile_with_expires_spec.rb +1 -0
  83. data/spec/moneta/simple_hbase_spec.rb +1 -0
  84. data/spec/moneta/simple_hbase_with_expires_spec.rb +1 -0
  85. data/spec/moneta/simple_kyotocabinet_spec.rb +1 -0
  86. data/spec/moneta/simple_kyotocabinet_with_expires_spec.rb +1 -0
  87. data/spec/moneta/simple_leveldb_spec.rb +1 -0
  88. data/spec/moneta/simple_leveldb_with_expires_spec.rb +1 -0
  89. data/spec/moneta/simple_localmemcache_spec.rb +1 -0
  90. data/spec/moneta/simple_localmemcache_with_expires_spec.rb +1 -0
  91. data/spec/moneta/simple_lruhash_spec.rb +1 -0
  92. data/spec/moneta/simple_lruhash_with_expires_spec.rb +1 -0
  93. data/spec/moneta/simple_memcached_dalli_spec.rb +1 -0
  94. data/spec/moneta/simple_memcached_native_spec.rb +1 -0
  95. data/spec/moneta/simple_memcached_spec.rb +1 -0
  96. data/spec/moneta/simple_memory_spec.rb +1 -0
  97. data/spec/moneta/simple_memory_with_compress_spec.rb +1 -0
  98. data/spec/moneta/simple_memory_with_expires_spec.rb +1 -0
  99. data/spec/moneta/simple_memory_with_json_key_serializer_spec.rb +1 -0
  100. data/spec/moneta/simple_memory_with_json_serializer_spec.rb +1 -0
  101. data/spec/moneta/simple_memory_with_json_value_serializer_spec.rb +1 -0
  102. data/spec/moneta/simple_memory_with_prefix_spec.rb +1 -0
  103. data/spec/moneta/simple_memory_with_snappy_compress_spec.rb +1 -0
  104. data/spec/moneta/simple_mongo_spec.rb +1 -0
  105. data/spec/moneta/simple_pstore_spec.rb +1 -0
  106. data/spec/moneta/simple_pstore_with_expires_spec.rb +1 -0
  107. data/spec/moneta/simple_redis_spec.rb +1 -0
  108. data/spec/moneta/simple_restclient_spec.rb +2 -1
  109. data/spec/moneta/simple_riak_spec.rb +5 -4
  110. data/spec/moneta/simple_riak_with_expires_spec.rb +5 -4
  111. data/spec/moneta/simple_sequel_spec.rb +1 -0
  112. data/spec/moneta/simple_sequel_with_expires_spec.rb +1 -0
  113. data/spec/moneta/simple_sqlite_spec.rb +1 -0
  114. data/spec/moneta/simple_sqlite_with_expires_spec.rb +1 -0
  115. data/spec/moneta/simple_tdb_spec.rb +1 -0
  116. data/spec/moneta/simple_tdb_with_expires_spec.rb +1 -0
  117. data/spec/moneta/simple_tokyocabinet_spec.rb +1 -0
  118. data/spec/moneta/simple_tokyocabinet_with_expires_spec.rb +1 -0
  119. data/spec/moneta/simple_tokyotyrant_spec.rb +1 -0
  120. data/spec/moneta/simple_tokyotyrant_with_expires_spec.rb +1 -0
  121. data/spec/moneta/simple_yaml_spec.rb +1 -0
  122. data/spec/moneta/simple_yaml_with_expires_spec.rb +1 -0
  123. data/spec/moneta/stack_file_memory_spec.rb +1 -0
  124. data/spec/moneta/stack_memory_file_spec.rb +1 -0
  125. data/spec/moneta/transformer_bencode_spec.rb +1 -0
  126. data/spec/moneta/transformer_bert_spec.rb +1 -0
  127. data/spec/moneta/transformer_bson_spec.rb +1 -0
  128. data/spec/moneta/transformer_bzip2_spec.rb +1 -0
  129. data/spec/moneta/transformer_json_spec.rb +1 -0
  130. data/spec/moneta/transformer_key_inspect_spec.rb +1 -0
  131. data/spec/moneta/transformer_key_marshal_spec.rb +1 -0
  132. data/spec/moneta/transformer_key_to_s_spec.rb +1 -0
  133. data/spec/moneta/transformer_key_yaml_spec.rb +1 -0
  134. data/spec/moneta/transformer_lzma_spec.rb +1 -0
  135. data/spec/moneta/transformer_lzo_spec.rb +1 -0
  136. data/spec/moneta/transformer_marshal_base64_spec.rb +1 -0
  137. data/spec/moneta/transformer_marshal_escape_spec.rb +1 -0
  138. data/spec/moneta/transformer_marshal_hmac_spec.rb +1 -0
  139. data/spec/moneta/transformer_marshal_md5_spec.rb +1 -0
  140. data/spec/moneta/transformer_marshal_md5_spread_spec.rb +1 -0
  141. data/spec/moneta/transformer_marshal_prefix_spec.rb +1 -0
  142. data/spec/moneta/transformer_marshal_qp_spec.rb +1 -0
  143. data/spec/moneta/transformer_marshal_rmd160_spec.rb +1 -0
  144. data/spec/moneta/transformer_marshal_sha1_spec.rb +1 -0
  145. data/spec/moneta/transformer_marshal_sha256_spec.rb +1 -0
  146. data/spec/moneta/transformer_marshal_sha384_spec.rb +1 -0
  147. data/spec/moneta/transformer_marshal_sha512_spec.rb +1 -0
  148. data/spec/moneta/transformer_marshal_spec.rb +1 -0
  149. data/spec/moneta/transformer_marshal_truncate_spec.rb +1 -0
  150. data/spec/moneta/transformer_marshal_uuencode_spec.rb +1 -0
  151. data/spec/moneta/transformer_msgpack_spec.rb +1 -0
  152. data/spec/moneta/transformer_ox_spec.rb +1 -0
  153. data/spec/moneta/transformer_quicklz_spec.rb +1 -0
  154. data/spec/moneta/transformer_snappy_spec.rb +1 -0
  155. data/spec/moneta/transformer_tnet_spec.rb +1 -0
  156. data/spec/moneta/transformer_value_marshal_spec.rb +1 -0
  157. data/spec/moneta/transformer_value_yaml_spec.rb +1 -0
  158. data/spec/moneta/transformer_yaml_spec.rb +1 -0
  159. data/spec/moneta/transformer_zlib_spec.rb +1 -0
  160. data/spec/moneta/weak_create_spec.rb +1 -0
  161. data/spec/moneta/weak_increment_spec.rb +1 -0
  162. data/spec/monetaspecs.rb +23 -2
  163. metadata +4 -3
@@ -111,6 +111,7 @@ describe_moneta "transformer_ox" do
111
111
  it_should_behave_like 'store_integerkey_booleanvalue'
112
112
  it_should_behave_like 'store_integerkey_nilvalue'
113
113
  it_should_behave_like 'store_integerkey_integervalue'
114
+ it_should_behave_like 'store_large'
114
115
  it_should_behave_like 'transform_value'
115
116
  it 'compile transformer class' do
116
117
  store.should_not be_nil
@@ -39,6 +39,7 @@ describe_moneta "transformer_quicklz" do
39
39
  it_should_behave_like 'store_booleankey_stringvalue'
40
40
  it_should_behave_like 'store_nilkey_stringvalue'
41
41
  it_should_behave_like 'store_integerkey_stringvalue'
42
+ it_should_behave_like 'store_large'
42
43
  it_should_behave_like 'transform_value'
43
44
  it 'compile transformer class' do
44
45
  store.should_not be_nil
@@ -39,6 +39,7 @@ describe_moneta "transformer_snappy" do
39
39
  it_should_behave_like 'store_booleankey_stringvalue'
40
40
  it_should_behave_like 'store_nilkey_stringvalue'
41
41
  it_should_behave_like 'store_integerkey_stringvalue'
42
+ it_should_behave_like 'store_large'
42
43
  it_should_behave_like 'transform_value'
43
44
  it 'compile transformer class' do
44
45
  store.should_not be_nil
@@ -45,6 +45,7 @@ describe_moneta "transformer_tnet" do
45
45
  it_should_behave_like 'store_integerkey_stringvalue'
46
46
  it_should_behave_like 'store_integerkey_hashvalue'
47
47
  it_should_behave_like 'store_integerkey_integervalue'
48
+ it_should_behave_like 'store_large'
48
49
  it_should_behave_like 'transform_value'
49
50
  it 'compile transformer class' do
50
51
  store.should_not be_nil
@@ -111,6 +111,7 @@ describe_moneta "transformer_value_marshal" do
111
111
  it_should_behave_like 'store_integerkey_booleanvalue'
112
112
  it_should_behave_like 'store_integerkey_nilvalue'
113
113
  it_should_behave_like 'store_integerkey_integervalue'
114
+ it_should_behave_like 'store_large'
114
115
  it_should_behave_like 'transform_value'
115
116
  it 'compile transformer class' do
116
117
  store.should_not be_nil
@@ -111,6 +111,7 @@ describe_moneta "transformer_value_yaml" do
111
111
  it_should_behave_like 'store_integerkey_booleanvalue'
112
112
  it_should_behave_like 'store_integerkey_nilvalue'
113
113
  it_should_behave_like 'store_integerkey_integervalue'
114
+ it_should_behave_like 'store_large'
114
115
  it_should_behave_like 'transform_value'
115
116
  it 'compile transformer class' do
116
117
  store.should_not be_nil
@@ -111,6 +111,7 @@ describe_moneta "transformer_yaml" do
111
111
  it_should_behave_like 'store_integerkey_booleanvalue'
112
112
  it_should_behave_like 'store_integerkey_nilvalue'
113
113
  it_should_behave_like 'store_integerkey_integervalue'
114
+ it_should_behave_like 'store_large'
114
115
  it_should_behave_like 'transform_value'
115
116
  it 'compile transformer class' do
116
117
  store.should_not be_nil
@@ -39,6 +39,7 @@ describe_moneta "transformer_zlib" do
39
39
  it_should_behave_like 'store_booleankey_stringvalue'
40
40
  it_should_behave_like 'store_nilkey_stringvalue'
41
41
  it_should_behave_like 'store_integerkey_stringvalue'
42
+ it_should_behave_like 'store_large'
42
43
  it_should_behave_like 'transform_value'
43
44
  it 'compile transformer class' do
44
45
  store.should_not be_nil
@@ -26,4 +26,5 @@ describe_moneta "weak_create" do
26
26
  it_should_behave_like 'persist_stringkey_stringvalue'
27
27
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
28
28
  it_should_behave_like 'store_stringkey_stringvalue'
29
+ it_should_behave_like 'store_large'
29
30
  end
@@ -26,4 +26,5 @@ describe_moneta "weak_increment" do
26
26
  it_should_behave_like 'persist_stringkey_stringvalue'
27
27
  it_should_behave_like 'returndifferent_stringkey_stringvalue'
28
28
  it_should_behave_like 'store_stringkey_stringvalue'
29
+ it_should_behave_like 'store_large'
29
30
  end
data/spec/monetaspecs.rb CHANGED
@@ -16872,6 +16872,22 @@ shared_examples_for 'persist_hashkey_objectvalue' do
16872
16872
  end
16873
16873
  end
16874
16874
 
16875
+ #################### store_large ####################
16876
+
16877
+ shared_examples_for 'store_large' do
16878
+ it 'should store values up to 32k' do
16879
+ value = 'x' * (32 * 1024)
16880
+ store['large'] = value
16881
+ store['large'].should == value
16882
+ end
16883
+
16884
+ it 'should store keys up to 128 bytes' do
16885
+ key = 'x' * 128
16886
+ store[key] = 'value'
16887
+ store[key].should == 'value'
16888
+ end
16889
+ end
16890
+
16875
16891
  #################### not_persist ####################
16876
16892
 
16877
16893
  shared_examples_for 'not_persist' do
@@ -17160,13 +17176,16 @@ shared_examples_for 'concurrent_increment' do
17160
17176
  it 'have atomic increment across multiple processes' do
17161
17177
  a = increment_thread('a')
17162
17178
  b = increment_thread('b')
17179
+ c = increment_thread('c')
17163
17180
  a.join
17164
17181
  b.join
17182
+ c.join
17165
17183
  1000.times do |i|
17166
17184
  store["a#{i}"].should == i.to_s
17167
17185
  store["b#{i}"].should == i.to_s
17186
+ store["c#{i}"].should == i.to_s
17168
17187
  end
17169
- store.raw['counter'].should == 2000.to_s
17188
+ store.raw['counter'].should == 3000.to_s
17170
17189
  end
17171
17190
  end
17172
17191
 
@@ -17174,7 +17193,7 @@ end
17174
17193
 
17175
17194
  shared_examples_for 'concurrent_create' do
17176
17195
  def create_thread(name)
17177
- a = Thread.new do
17196
+ Thread.new do
17178
17197
  s = new_store
17179
17198
  1000.times do |i|
17180
17199
  s[i.to_s].should == name if s.create(i.to_s, name, :expires => false)
@@ -17187,8 +17206,10 @@ shared_examples_for 'concurrent_create' do
17187
17206
  it 'have atomic create across multiple processes' do
17188
17207
  a = create_thread('a')
17189
17208
  b = create_thread('b')
17209
+ c = create_thread('c')
17190
17210
  a.join
17191
17211
  b.join
17212
+ c.join
17192
17213
  end
17193
17214
  end
17194
17215
 
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.13
4
+ version: 0.7.14
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-02-06 00:00:00.000000000 Z
14
+ date: 2013-02-08 00:00:00.000000000 Z
15
15
  dependencies: []
16
16
  description: A unified interface to key/value stores
17
17
  email:
@@ -108,6 +108,7 @@ files:
108
108
  - spec/action_dispatch/session_moneta_store_spec.rb
109
109
  - spec/active_support/cache_moneta_store_spec.rb
110
110
  - spec/helper.rb
111
+ - spec/moneta/adapter_activerecord_exisiting_connection_spec.rb
111
112
  - spec/moneta/adapter_activerecord_spec.rb
112
113
  - spec/moneta/adapter_cassandra_spec.rb
113
114
  - spec/moneta/adapter_cassandra_with_default_expires_spec.rb
@@ -301,6 +302,7 @@ test_files:
301
302
  - spec/action_dispatch/session_moneta_store_spec.rb
302
303
  - spec/active_support/cache_moneta_store_spec.rb
303
304
  - spec/helper.rb
305
+ - spec/moneta/adapter_activerecord_exisiting_connection_spec.rb
304
306
  - spec/moneta/adapter_activerecord_spec.rb
305
307
  - spec/moneta/adapter_cassandra_spec.rb
306
308
  - spec/moneta/adapter_cassandra_with_default_expires_spec.rb
@@ -464,4 +466,3 @@ test_files:
464
466
  - spec/rack/moneta_cookies_spec.rb
465
467
  - spec/rack/moneta_store_spec.rb
466
468
  - spec/rack/session_moneta_spec.rb
467
- has_rdoc: