moneta 1.2.0 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +418 -0
  3. data/.gitignore +2 -0
  4. data/.rubocop.yml +27 -9
  5. data/CHANGES +28 -0
  6. data/CONTRIBUTORS +4 -2
  7. data/Gemfile +12 -8
  8. data/README.md +20 -18
  9. data/feature_matrix.yaml +2 -11
  10. data/lib/moneta.rb +9 -9
  11. data/lib/moneta/adapters/client.rb +56 -19
  12. data/lib/moneta/adapters/couch.rb +5 -0
  13. data/lib/moneta/adapters/mongo.rb +264 -7
  14. data/lib/moneta/adapters/redis.rb +5 -1
  15. data/lib/moneta/adapters/sequel.rb +45 -464
  16. data/lib/moneta/adapters/sequel/mysql.rb +66 -0
  17. data/lib/moneta/adapters/sequel/postgres.rb +80 -0
  18. data/lib/moneta/adapters/sequel/postgres_hstore.rb +240 -0
  19. data/lib/moneta/adapters/sequel/sqlite.rb +57 -0
  20. data/lib/moneta/adapters/sqlite.rb +7 -7
  21. data/lib/moneta/builder.rb +2 -2
  22. data/lib/moneta/create_support.rb +21 -0
  23. data/lib/moneta/dbm_adapter.rb +31 -0
  24. data/lib/moneta/{mixins.rb → defaults.rb} +1 -302
  25. data/lib/moneta/each_key_support.rb +27 -0
  26. data/lib/moneta/expires_support.rb +60 -0
  27. data/lib/moneta/hash_adapter.rb +68 -0
  28. data/lib/moneta/increment_support.rb +16 -0
  29. data/lib/moneta/lock.rb +6 -1
  30. data/lib/moneta/nil_values.rb +35 -0
  31. data/lib/moneta/option_support.rb +51 -0
  32. data/lib/moneta/pool.rb +38 -6
  33. data/lib/moneta/proxy.rb +1 -1
  34. data/lib/moneta/server.rb +215 -61
  35. data/lib/moneta/shared.rb +13 -7
  36. data/lib/moneta/transformer.rb +50 -8
  37. data/lib/moneta/transformer/config.rb +59 -40
  38. data/lib/moneta/transformer/helper.rb +2 -2
  39. data/lib/moneta/transformer/helper/bson.rb +5 -15
  40. data/lib/moneta/version.rb +1 -1
  41. data/lib/rack/cache/moneta.rb +14 -15
  42. data/moneta.gemspec +14 -8
  43. data/script/benchmarks +7 -3
  44. data/script/contributors +11 -6
  45. data/script/start-couchdb +27 -0
  46. data/script/start-hbase +2 -2
  47. data/script/start-services +3 -3
  48. data/spec/active_support/cache_moneta_store_spec.rb +37 -39
  49. data/spec/features/concurrent_increment.rb +2 -3
  50. data/spec/features/create_expires.rb +15 -15
  51. data/spec/features/default_expires.rb +11 -12
  52. data/spec/features/expires.rb +215 -210
  53. data/spec/features/store.rb +3 -3
  54. data/spec/helper.rb +33 -41
  55. data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +3 -1
  56. data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +15 -7
  57. data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +6 -3
  58. data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +6 -3
  59. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +3 -3
  60. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +2 -2
  61. data/spec/moneta/adapters/cassandra/standard_cassandra_spec.rb +1 -1
  62. data/spec/moneta/adapters/client/adapter_client_spec.rb +6 -6
  63. data/spec/moneta/adapters/client/client_helper.rb +24 -0
  64. data/spec/moneta/adapters/client/standard_client_tcp_spec.rb +8 -8
  65. data/spec/moneta/adapters/client/standard_client_unix_spec.rb +23 -7
  66. data/spec/moneta/adapters/couch/adapter_couch_spec.rb +1 -1
  67. data/spec/moneta/adapters/couch/standard_couch_spec.rb +2 -2
  68. data/spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb +2 -2
  69. data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +25 -8
  70. data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +2 -2
  71. data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +2 -2
  72. data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +2 -2
  73. data/spec/moneta/adapters/daybreak/standard_daybreak_spec.rb +1 -1
  74. data/spec/moneta/adapters/daybreak/standard_daybreak_with_expires_spec.rb +1 -1
  75. data/spec/moneta/adapters/dbm/standard_dbm_spec.rb +1 -1
  76. data/spec/moneta/adapters/dbm/standard_dbm_with_expires_spec.rb +1 -1
  77. data/spec/moneta/adapters/file/standard_file_spec.rb +2 -2
  78. data/spec/moneta/adapters/file/standard_file_with_expires_spec.rb +1 -1
  79. data/spec/moneta/adapters/gdbm/standard_gdbm_spec.rb +1 -1
  80. data/spec/moneta/adapters/gdbm/standard_gdbm_with_expires_spec.rb +1 -1
  81. data/spec/moneta/adapters/kyotocabinet/adapter_kyotocabinet_spec.rb +1 -1
  82. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_spec.rb +2 -2
  83. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_with_expires_spec.rb +2 -2
  84. data/spec/moneta/adapters/leveldb/standard_leveldb_spec.rb +1 -1
  85. data/spec/moneta/adapters/leveldb/standard_leveldb_with_expires_spec.rb +1 -1
  86. data/spec/moneta/adapters/lmdb/standard_lmdb_spec.rb +1 -1
  87. data/spec/moneta/adapters/lmdb/standard_lmdb_with_expires_spec.rb +1 -1
  88. data/spec/moneta/adapters/lruhash/standard_lruhash_spec.rb +1 -1
  89. data/spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb +1 -1
  90. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +13 -3
  91. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +13 -3
  92. data/spec/moneta/adapters/memory/standard_memory_spec.rb +1 -1
  93. data/spec/moneta/adapters/memory/standard_memory_with_compress_spec.rb +1 -1
  94. data/spec/moneta/adapters/memory/standard_memory_with_expires_spec.rb +1 -1
  95. data/spec/moneta/adapters/memory/standard_memory_with_json_key_serializer_spec.rb +1 -1
  96. data/spec/moneta/adapters/memory/standard_memory_with_json_serializer_spec.rb +1 -1
  97. data/spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb +2 -2
  98. data/spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb +39 -2
  99. data/spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb +2 -2
  100. data/spec/moneta/adapters/mongo/adapter_mongo_spec.rb +32 -2
  101. data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +6 -4
  102. data/spec/moneta/adapters/mongo/standard_mongo_spec.rb +2 -2
  103. data/spec/moneta/adapters/pstore/standard_pstore_spec.rb +1 -1
  104. data/spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb +1 -1
  105. data/spec/moneta/adapters/redis/adapter_redis_spec.rb +13 -3
  106. data/spec/moneta/adapters/redis/standard_redis_spec.rb +9 -2
  107. data/spec/moneta/adapters/sdbm/standard_sdbm_spec.rb +1 -1
  108. data/spec/moneta/adapters/sdbm/standard_sdbm_with_expires_spec.rb +1 -1
  109. data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +11 -38
  110. data/spec/moneta/adapters/sequel/helper.rb +42 -0
  111. data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +6 -12
  112. data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +9 -10
  113. data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +1 -1
  114. data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +2 -2
  115. data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +2 -2
  116. data/spec/moneta/adapters/tdb/standard_tdb_spec.rb +1 -1
  117. data/spec/moneta/adapters/tdb/standard_tdb_with_expires_spec.rb +1 -1
  118. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_spec.rb +1 -1
  119. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_with_expires_spec.rb +1 -1
  120. data/spec/moneta/adapters/yaml/standard_yaml_spec.rb +1 -1
  121. data/spec/moneta/adapters/yaml/standard_yaml_with_expires_spec.rb +1 -1
  122. data/spec/moneta/builder_spec.rb +22 -0
  123. data/spec/moneta/proxies/expires/expires_file_spec.rb +1 -1
  124. data/spec/moneta/proxies/pool/pool_spec.rb +31 -3
  125. data/spec/moneta/proxies/shared/shared_tcp_spec.rb +14 -4
  126. data/spec/moneta/proxies/shared/shared_unix_spec.rb +14 -4
  127. data/spec/moneta/proxies/transformer/transformer_bencode_spec.rb +1 -1
  128. data/spec/moneta/proxies/transformer/transformer_bert_spec.rb +3 -3
  129. data/spec/moneta/proxies/transformer/transformer_bson_spec.rb +2 -2
  130. data/spec/moneta/proxies/transformer/transformer_json_spec.rb +1 -1
  131. data/spec/moneta/proxies/transformer/transformer_key_marshal_spec.rb +1 -1
  132. data/spec/moneta/proxies/transformer/transformer_key_yaml_spec.rb +1 -1
  133. data/spec/moneta/proxies/transformer/transformer_marshal_base64_spec.rb +1 -1
  134. data/spec/moneta/proxies/transformer/transformer_marshal_escape_spec.rb +8 -4
  135. data/spec/moneta/proxies/transformer/transformer_marshal_hex_spec.rb +1 -1
  136. data/spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb +1 -1
  137. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb +33 -0
  138. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb +1 -1
  139. data/spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb +1 -1
  140. data/spec/moneta/proxies/transformer/transformer_marshal_spec.rb +1 -1
  141. data/spec/moneta/proxies/transformer/transformer_marshal_urlsafe_base64_spec.rb +1 -1
  142. data/spec/moneta/proxies/transformer/transformer_marshal_uuencode_spec.rb +1 -1
  143. data/spec/moneta/proxies/transformer/transformer_msgpack_spec.rb +1 -1
  144. data/spec/moneta/proxies/transformer/transformer_ox_spec.rb +1 -1
  145. data/spec/moneta/proxies/transformer/transformer_php_spec.rb +1 -1
  146. data/spec/moneta/proxies/transformer/transformer_tnet_spec.rb +1 -1
  147. data/spec/moneta/proxies/transformer/transformer_yaml_spec.rb +2 -2
  148. data/spec/moneta/proxies/weak_each_key/weak_each_key_spec.rb +0 -2
  149. data/spec/restserver.rb +15 -0
  150. metadata +47 -66
  151. data/.travis.yml +0 -140
  152. data/lib/moneta/adapters/mongo/base.rb +0 -103
  153. data/lib/moneta/adapters/mongo/moped.rb +0 -163
  154. data/lib/moneta/adapters/mongo/official.rb +0 -156
  155. data/script/reconfigure-couchdb +0 -13
  156. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb +0 -15
  157. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb +0 -15
  158. data/spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb +0 -25
  159. data/spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb +0 -12
  160. data/spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb +0 -25
  161. data/spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb +0 -12
  162. data/spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb +0 -7
  163. data/spec/moneta/adapters/mongo/standard_mongo_official_spec.rb +0 -7
  164. data/spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb +0 -10
  165. data/spec/moneta/proxies/proxy/proxy_redis_spec.rb +0 -13
  166. data/spec/quality_spec.rb +0 -51
@@ -1,15 +1,15 @@
1
- describe "shared_tcp", isolate: true, proxy: :Shared do
1
+ describe "shared_tcp", proxy: :Shared do
2
2
  moneta_build do
3
3
  tempdir = self.tempdir
4
4
  Moneta.build do
5
5
  use(:Shared, port: 9001) do
6
- adapter :PStore, file: File.join(tempdir, 'shared_tcp')
6
+ adapter :GDBM, file: File.join(tempdir, 'shared_tcp')
7
7
  end
8
8
  end
9
9
  end
10
10
 
11
11
  shared_examples :shared_tcp do
12
- moneta_specs ADAPTER_SPECS
12
+ moneta_specs ADAPTER_SPECS.with_each_key
13
13
 
14
14
  it 'shares values' do
15
15
  store['shared_key'] = 'shared_value'
@@ -22,11 +22,16 @@ describe "shared_tcp", isolate: true, proxy: :Shared do
22
22
 
23
23
  # The first store initialised will be running the server
24
24
  context "running as the server" do
25
+ before do
26
+ store.load('dummy')
27
+ expect(store.server?).to be true
28
+ end
29
+
25
30
  include_examples :shared_tcp
26
31
 
27
32
  it 'has the underlying adapter' do
28
33
  store.load('dummy')
29
- expect(store.adapter.adapter).to be_a Moneta::Adapters::PStore
34
+ expect(store.adapter.adapter).to be_a Moneta::Adapters::GDBM
30
35
  end
31
36
  end
32
37
 
@@ -35,6 +40,11 @@ describe "shared_tcp", isolate: true, proxy: :Shared do
35
40
  new_store.tap { |store| store.load('dummy') } # Makes a connection
36
41
  end
37
42
 
43
+ before do
44
+ store.load('dummy')
45
+ expect(store.server?).to be false
46
+ end
47
+
38
48
  after do
39
49
  server_store.close
40
50
  end
@@ -1,15 +1,15 @@
1
- describe "shared_unix", isolate: true, proxy: :Shared do
1
+ describe "shared_unix", proxy: :Shared do
2
2
  moneta_build do
3
3
  tempdir = self.tempdir
4
4
  Moneta.build do
5
5
  use(:Shared, socket: File.join(tempdir, 'shared_unix.socket')) do
6
- adapter :PStore, file: File.join(tempdir, 'shared_unix')
6
+ adapter :GDBM, file: File.join(tempdir, 'shared_unix')
7
7
  end
8
8
  end
9
9
  end
10
10
 
11
11
  shared_examples :shared_unix do
12
- moneta_specs ADAPTER_SPECS
12
+ moneta_specs ADAPTER_SPECS.with_each_key
13
13
 
14
14
  it 'shares values' do
15
15
  store['shared_key'] = 'shared_value'
@@ -21,11 +21,16 @@ describe "shared_unix", isolate: true, proxy: :Shared do
21
21
  end
22
22
 
23
23
  context "runnning as the server" do
24
+ before do
25
+ store.load('dummy')
26
+ expect(store.server?).to be true
27
+ end
28
+
24
29
  include_examples :shared_unix
25
30
 
26
31
  it "has the underlying adapter" do
27
32
  store.load('dummy')
28
- expect(store.adapter.adapter).to be_a Moneta::Adapters::PStore
33
+ expect(store.adapter.adapter).to be_a Moneta::Adapters::GDBM
29
34
  end
30
35
  end
31
36
 
@@ -34,6 +39,11 @@ describe "shared_unix", isolate: true, proxy: :Shared do
34
39
  new_store.tap { |store| store.load('dummy') } # Makes a connection
35
40
  end
36
41
 
42
+ before do
43
+ store.load('dummy')
44
+ expect(store.server?).to be false
45
+ end
46
+
37
47
  after do
38
48
  server_store.close
39
49
  end
@@ -10,7 +10,7 @@ describe 'transformer_bencode', proxy: :Transformer do
10
10
  ::BEncode.load(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -9,9 +9,9 @@ describe 'transformer_bert', unsupported: defined?(JRUBY_VERSION), proxy: :Trans
9
9
  moneta_loader do |value|
10
10
  ::BERT.decode(value)
11
11
  end
12
-
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
14
-
12
+
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
+
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
17
17
  Moneta::Transformer::BertKeyBertValue.should_not be_nil
@@ -14,8 +14,8 @@ describe 'transformer_bson', proxy: :Transformer do
14
14
  end
15
15
  end
16
16
 
17
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
18
-
17
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
18
+
19
19
  it 'compile transformer class' do
20
20
  store.should_not be_nil
21
21
  Moneta::Transformer::BsonKeyBsonValue.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_json', proxy: :Transformer do
10
10
  ::MultiJson.load(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -8,7 +8,7 @@ describe 'transformer_key_marshal', proxy: :Transformer do
8
8
 
9
9
  moneta_loader{ |value| value }
10
10
 
11
- moneta_specs TRANSFORMER_SPECS.returnsame
11
+ moneta_specs TRANSFORMER_SPECS.returnsame.with_each_key
12
12
 
13
13
  it 'compile transformer class' do
14
14
  store.should_not be_nil
@@ -8,7 +8,7 @@ describe 'transformer_key_yaml', proxy: :Transformer do
8
8
 
9
9
  moneta_loader{ |value| value }
10
10
 
11
- moneta_specs TRANSFORMER_SPECS.returnsame
11
+ moneta_specs TRANSFORMER_SPECS.returnsame.with_each_key
12
12
 
13
13
  it 'compile transformer class' do
14
14
  store.should_not be_nil
@@ -11,7 +11,7 @@ describe 'transformer_marshal_base64', proxy: :Transformer do
11
11
  ::Marshal.load(value.unpack('m').first)
12
12
  end
13
13
 
14
- moneta_specs STANDARD_SPECS.without_persist
14
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
15
15
 
16
16
  it 'compile transformer class' do
17
17
  store.should_not be_nil
@@ -1,15 +1,19 @@
1
1
  describe 'transformer_marshal_escape', proxy: :Transformer do
2
2
  moneta_build do
3
3
  Moneta.build do
4
- use :Transformer, key: [:marshal, :escape], value: :marshal
4
+ use :Transformer, key: [:marshal, :escape], value: [:marshal, :escape]
5
5
  adapter :Memory
6
6
  end
7
7
  end
8
8
 
9
- moneta_specs STANDARD_SPECS.without_persist
9
+ moneta_loader do |value|
10
+ ::Marshal.load(::URI.decode_www_form_component(value))
11
+ end
12
+
13
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
10
14
 
11
- it 'compile transformer class' do
15
+ it 'compiles the transformer class' do
12
16
  store.should_not be_nil
13
- Moneta::Transformer::MarshalEscapeKeyMarshalValue.should_not be_nil
17
+ Moneta::Transformer::MarshalEscapeKeyMarshalEscapeValue.should_not be_nil
14
18
  end
15
19
  end
@@ -11,7 +11,7 @@ describe 'transformer_marshal_hex', proxy: :Transformer do
11
11
  ::Marshal.load([value].pack('H*'))
12
12
  end
13
13
 
14
- moneta_specs STANDARD_SPECS.without_persist
14
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
15
15
 
16
16
  it 'compile transformer class' do
17
17
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_marshal_hmac', proxy: :Transformer do
10
10
  ::Marshal.load(::Moneta::Transformer::Helper.hmacverify(value, 'secret'))
11
11
  end
12
12
 
13
- moneta_specs STANDARD_SPECS.without_persist
13
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -0,0 +1,33 @@
1
+ describe 'transformer_marshal_prefix_base64', proxy: :Transformer do
2
+ moneta_build do
3
+
4
+ Moneta.build do
5
+ use :Transformer, key: [:marshal, :prefix, :base64], value: [:marshal, :base64], prefix: 'moneta'
6
+ adapter :Memory
7
+ end
8
+ end
9
+
10
+ moneta_loader do |value|
11
+ ::Marshal.load(value.unpack('m').first)
12
+ end
13
+
14
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
15
+
16
+ it 'compile transformer class' do
17
+ store.should_not be_nil
18
+ Moneta::Transformer::MarshalPrefixBase64KeyMarshalBase64Value.should_not be_nil
19
+ end
20
+
21
+ context 'with keys with no prefix' do
22
+ before(:each) do
23
+ store.adapter.backend['no_prefix'] = 'hidden'
24
+ end
25
+
26
+ after(:each) do
27
+ expect(store.adapter.backend.keys).to include('no_prefix')
28
+ end
29
+
30
+ include_examples :each_key
31
+ end
32
+
33
+ end
@@ -6,7 +6,7 @@ describe 'transformer_marshal_prefix', proxy: :Transformer do
6
6
  end
7
7
  end
8
8
 
9
- moneta_specs STANDARD_SPECS.without_persist
9
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
10
10
 
11
11
  it 'compile transformer class' do
12
12
  store.should_not be_nil
@@ -11,7 +11,7 @@ describe 'transformer_marshal_qp', proxy: :Transformer do
11
11
  ::Marshal.load(value.unpack('M').first)
12
12
  end
13
13
 
14
- moneta_specs STANDARD_SPECS.without_persist
14
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
15
15
 
16
16
  it 'compile transformer class' do
17
17
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_marshal', proxy: :Transformer do
10
10
  ::Marshal.load(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS
13
+ moneta_specs TRANSFORMER_SPECS.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -11,7 +11,7 @@ describe 'transformer_marshal_urlsafe_base64', proxy: :Transformer do
11
11
  ::Marshal.load(::Base64.urlsafe_decode64(value))
12
12
  end
13
13
 
14
- moneta_specs STANDARD_SPECS.without_persist
14
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
15
15
 
16
16
  it 'compile transformer class' do
17
17
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_marshal_uuencode', proxy: :Transformer do
10
10
  ::Marshal.load(value.unpack('u').first)
11
11
  end
12
12
 
13
- moneta_specs STANDARD_SPECS.without_persist
13
+ moneta_specs STANDARD_SPECS.without_persist.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_msgpack', proxy: :Transformer do
10
10
  ::MessagePack.unpack(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_ox', unsupported: defined?(JRUBY_VERSION), proxy: :Transfo
10
10
  ::Ox.parse_obj(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.without_keys_or_values(:binary, :float)
13
+ moneta_specs TRANSFORMER_SPECS.without_keys_or_values(:binary, :float).with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_php', proxy: :Transformer do
10
10
  ::PHP.unserialize(value)
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -10,7 +10,7 @@ describe 'transformer_tnet', proxy: :Transformer do
10
10
  ::TNetstring.parse(value).first
11
11
  end
12
12
 
13
- moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only
13
+ moneta_specs TRANSFORMER_SPECS.simplekeys_only.simplevalues_only.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -9,8 +9,8 @@ describe 'transformer_yaml', proxy: :Transformer do
9
9
  moneta_loader do |value|
10
10
  ::YAML.load(value)
11
11
  end
12
-
13
- moneta_specs TRANSFORMER_SPECS
12
+
13
+ moneta_specs TRANSFORMER_SPECS.with_each_key
14
14
 
15
15
  it 'compile transformer class' do
16
16
  store.should_not be_nil
@@ -9,8 +9,6 @@ describe 'weak_each_key', proxy: :WeakEachKey do
9
9
  moneta_build do
10
10
  Moneta.build do
11
11
  use :WeakEachKey
12
- # use :WeakIncrement
13
- # use :WeakCreate
14
12
 
15
13
  adapter :Fog,
16
14
  aws_access_key_id: 'fake_access_key_id',
data/spec/restserver.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'faraday'
1
2
  require 'rack'
2
3
  require 'rack/moneta_rest'
3
4
 
@@ -31,6 +32,20 @@ def start_restserver(port)
31
32
  )
32
33
 
33
34
  Thread.start { server.start }
35
+
36
+ begin
37
+ Faraday.get("http://127.0.0.1:#{port}")
38
+ rescue Faraday::ConnectionFailed
39
+ tries ||= 5
40
+ tries -= 1
41
+ if tries > 0
42
+ sleep 0.1
43
+ retry
44
+ else
45
+ raise
46
+ end
47
+ end
48
+
34
49
  server
35
50
  end
36
51
 
metadata CHANGED
@@ -1,46 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moneta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mendler
8
8
  - Yehuda Katz
9
9
  - Hannes Georg
10
10
  - Alastair Pharo
11
- autorequire:
11
+ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2019-10-15 00:00:00.000000000 Z
14
+ date: 2021-05-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
- name: rspec
18
- requirement: !ruby/object:Gem::Requirement
19
- requirements:
20
- - - "~>"
21
- - !ruby/object:Gem::Version
22
- version: '3.0'
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '3.0'
30
- - !ruby/object:Gem::Dependency
31
- name: rspec-retry
17
+ name: parallel_tests
32
18
  requirement: !ruby/object:Gem::Requirement
33
19
  requirements:
34
20
  - - "~>"
35
21
  - !ruby/object:Gem::Version
36
- version: 0.6.1
22
+ version: 2.29.2
37
23
  type: :development
38
24
  prerelease: false
39
25
  version_requirements: !ruby/object:Gem::Requirement
40
26
  requirements:
41
27
  - - "~>"
42
28
  - !ruby/object:Gem::Version
43
- version: 0.6.1
29
+ version: 2.29.2
44
30
  - !ruby/object:Gem::Dependency
45
31
  name: rantly
46
32
  requirement: !ruby/object:Gem::Requirement
@@ -56,67 +42,67 @@ dependencies:
56
42
  - !ruby/object:Gem::Version
57
43
  version: 1.2.0
58
44
  - !ruby/object:Gem::Dependency
59
- name: parallel_tests
45
+ name: rspec
60
46
  requirement: !ruby/object:Gem::Requirement
61
47
  requirements:
62
48
  - - "~>"
63
49
  - !ruby/object:Gem::Version
64
- version: 2.29.2
50
+ version: '3.0'
65
51
  type: :development
66
52
  prerelease: false
67
53
  version_requirements: !ruby/object:Gem::Requirement
68
54
  requirements:
69
55
  - - "~>"
70
56
  - !ruby/object:Gem::Version
71
- version: 2.29.2
57
+ version: '3.0'
72
58
  - !ruby/object:Gem::Dependency
73
- name: timecop
59
+ name: rspec-retry
74
60
  requirement: !ruby/object:Gem::Requirement
75
61
  requirements:
76
62
  - - "~>"
77
63
  - !ruby/object:Gem::Version
78
- version: 0.9.1
64
+ version: 0.6.1
79
65
  type: :development
80
66
  prerelease: false
81
67
  version_requirements: !ruby/object:Gem::Requirement
82
68
  requirements:
83
69
  - - "~>"
84
70
  - !ruby/object:Gem::Version
85
- version: 0.9.1
71
+ version: 0.6.1
86
72
  - !ruby/object:Gem::Dependency
87
73
  name: rubocop
88
74
  requirement: !ruby/object:Gem::Requirement
89
75
  requirements:
90
76
  - - "~>"
91
77
  - !ruby/object:Gem::Version
92
- version: 0.67.2
78
+ version: 0.81.0
93
79
  type: :development
94
80
  prerelease: false
95
81
  version_requirements: !ruby/object:Gem::Requirement
96
82
  requirements:
97
83
  - - "~>"
98
84
  - !ruby/object:Gem::Version
99
- version: 0.67.2
85
+ version: 0.81.0
100
86
  - !ruby/object:Gem::Dependency
101
- name: irb
87
+ name: timecop
102
88
  requirement: !ruby/object:Gem::Requirement
103
89
  requirements:
104
90
  - - "~>"
105
91
  - !ruby/object:Gem::Version
106
- version: 1.0.0
92
+ version: 0.9.1
107
93
  type: :development
108
94
  prerelease: false
109
95
  version_requirements: !ruby/object:Gem::Requirement
110
96
  requirements:
111
97
  - - "~>"
112
98
  - !ruby/object:Gem::Version
113
- version: 1.0.0
99
+ version: 0.9.1
114
100
  description: A unified interface to key/value stores
115
101
  email:
116
102
  - mail@daniel-mendler.de
117
103
  - wycats@gmail.com
118
104
  - hannes.georg@googlemail.com
119
- - asppsa@gmail.com
105
+ - me@asph.dev
120
106
  executables: []
121
107
  extensions: []
122
108
  extra_rdoc_files:
@@ -124,10 +110,10 @@ extra_rdoc_files:
124
110
  - SPEC.md
125
111
  - LICENSE
126
112
  files:
113
+ - ".github/workflows/ruby.yml"
127
114
  - ".gitignore"
128
115
  - ".rspec"
129
116
  - ".rubocop.yml"
130
- - ".travis.yml"
131
117
  - ".yardopts"
132
118
  - CHANGES
133
119
  - CONTRIBUTORS
@@ -162,9 +148,6 @@ files:
162
148
  - lib/moneta/adapters/memcached/native.rb
163
149
  - lib/moneta/adapters/memory.rb
164
150
  - lib/moneta/adapters/mongo.rb
165
- - lib/moneta/adapters/mongo/base.rb
166
- - lib/moneta/adapters/mongo/moped.rb
167
- - lib/moneta/adapters/mongo/official.rb
168
151
  - lib/moneta/adapters/null.rb
169
152
  - lib/moneta/adapters/pstore.rb
170
153
  - lib/moneta/adapters/redis.rb
@@ -172,6 +155,10 @@ files:
172
155
  - lib/moneta/adapters/riak.rb
173
156
  - lib/moneta/adapters/sdbm.rb
174
157
  - lib/moneta/adapters/sequel.rb
158
+ - lib/moneta/adapters/sequel/mysql.rb
159
+ - lib/moneta/adapters/sequel/postgres.rb
160
+ - lib/moneta/adapters/sequel/postgres_hstore.rb
161
+ - lib/moneta/adapters/sequel/sqlite.rb
175
162
  - lib/moneta/adapters/sqlite.rb
176
163
  - lib/moneta/adapters/tdb.rb
177
164
  - lib/moneta/adapters/tokyocabinet.rb
@@ -179,12 +166,20 @@ files:
179
166
  - lib/moneta/adapters/yaml.rb
180
167
  - lib/moneta/builder.rb
181
168
  - lib/moneta/cache.rb
169
+ - lib/moneta/create_support.rb
170
+ - lib/moneta/dbm_adapter.rb
171
+ - lib/moneta/defaults.rb
172
+ - lib/moneta/each_key_support.rb
182
173
  - lib/moneta/enumerable.rb
183
174
  - lib/moneta/expires.rb
175
+ - lib/moneta/expires_support.rb
184
176
  - lib/moneta/fallback.rb
177
+ - lib/moneta/hash_adapter.rb
178
+ - lib/moneta/increment_support.rb
185
179
  - lib/moneta/lock.rb
186
180
  - lib/moneta/logger.rb
187
- - lib/moneta/mixins.rb
181
+ - lib/moneta/nil_values.rb
182
+ - lib/moneta/option_support.rb
188
183
  - lib/moneta/optionmerger.rb
189
184
  - lib/moneta/pool.rb
190
185
  - lib/moneta/proxy.rb
@@ -211,7 +206,7 @@ files:
211
206
  - script/contributors
212
207
  - script/memusage
213
208
  - script/parallel-tests
214
- - script/reconfigure-couchdb
209
+ - script/start-couchdb
215
210
  - script/start-hbase
216
211
  - script/start-services
217
212
  - script/travis-logs
@@ -254,6 +249,7 @@ files:
254
249
  - spec/moneta/adapters/cassandra/helper.rb
255
250
  - spec/moneta/adapters/cassandra/standard_cassandra_spec.rb
256
251
  - spec/moneta/adapters/client/adapter_client_spec.rb
252
+ - spec/moneta/adapters/client/client_helper.rb
257
253
  - spec/moneta/adapters/client/standard_client_tcp_spec.rb
258
254
  - spec/moneta/adapters/client/standard_client_unix_spec.rb
259
255
  - spec/moneta/adapters/cookie/adapter_cookie_spec.rb
@@ -303,10 +299,8 @@ files:
303
299
  - spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
304
300
  - spec/moneta/adapters/memcached/adapter_memcached_spec.rb
305
301
  - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
306
- - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
307
302
  - spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
308
303
  - spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
309
- - spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
310
304
  - spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
311
305
  - spec/moneta/adapters/memcached/standard_memcached_spec.rb
312
306
  - spec/moneta/adapters/memcached_helper.rb
@@ -319,14 +313,8 @@ files:
319
313
  - spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb
320
314
  - spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb
321
315
  - spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb
322
- - spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb
323
- - spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb
324
- - spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb
325
- - spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb
326
316
  - spec/moneta/adapters/mongo/adapter_mongo_spec.rb
327
317
  - spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb
328
- - spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb
329
- - spec/moneta/adapters/mongo/standard_mongo_official_spec.rb
330
318
  - spec/moneta/adapters/mongo/standard_mongo_spec.rb
331
319
  - spec/moneta/adapters/null/null_adapter_spec.rb
332
320
  - spec/moneta/adapters/null/standard_null_spec.rb
@@ -334,7 +322,6 @@ files:
334
322
  - spec/moneta/adapters/pstore/standard_pstore_spec.rb
335
323
  - spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
336
324
  - spec/moneta/adapters/redis/adapter_redis_spec.rb
337
- - spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
338
325
  - spec/moneta/adapters/redis/standard_redis_spec.rb
339
326
  - spec/moneta/adapters/restclient/adapter_restclient_spec.rb
340
327
  - spec/moneta/adapters/restclient/helper.rb
@@ -379,7 +366,6 @@ files:
379
366
  - spec/moneta/proxies/optionmerger/optionmerger_spec.rb
380
367
  - spec/moneta/proxies/pool/pool_spec.rb
381
368
  - spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
382
- - spec/moneta/proxies/proxy/proxy_redis_spec.rb
383
369
  - spec/moneta/proxies/shared/shared_tcp_spec.rb
384
370
  - spec/moneta/proxies/shared/shared_unix_spec.rb
385
371
  - spec/moneta/proxies/transformer/transformer_bencode_spec.rb
@@ -403,6 +389,7 @@ files:
403
389
  - spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb
404
390
  - spec/moneta/proxies/transformer/transformer_marshal_md5_spec.rb
405
391
  - spec/moneta/proxies/transformer/transformer_marshal_md5_spread_spec.rb
392
+ - spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb
406
393
  - spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb
407
394
  - spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb
408
395
  - spec/moneta/proxies/transformer/transformer_marshal_rmd160_spec.rb
@@ -430,7 +417,6 @@ files:
430
417
  - spec/moneta/semaphore_spec.rb
431
418
  - spec/moneta/stack_file_memory_spec.rb
432
419
  - spec/moneta/stack_memory_file_spec.rb
433
- - spec/quality_spec.rb
434
420
  - spec/rack/cache_moneta_spec.rb
435
421
  - spec/rack/moneta_cookies_spec.rb
436
422
  - spec/rack/moneta_store_spec.rb
@@ -438,11 +424,15 @@ files:
438
424
  - spec/restserver.rb
439
425
  - test/action_dispatch/fixtures/session_autoload_test/foo.rb
440
426
  - test/action_dispatch/session_moneta_store_test.rb
441
- homepage: http://github.com/moneta-rb/moneta
427
+ homepage: https://github.com/moneta-rb/moneta
442
428
  licenses:
443
429
  - MIT
444
- metadata: {}
445
- post_install_message:
430
+ metadata:
431
+ bug_tracker_uri: https://github.com/moneta-rb/moneta/issues
432
+ changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.2/CHANGES
433
+ documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.2
434
+ source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.2
435
+ post_install_message:
446
436
  rdoc_options: []
447
437
  require_paths:
448
438
  - lib
@@ -450,15 +440,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
450
440
  requirements:
451
441
  - - ">="
452
442
  - !ruby/object:Gem::Version
453
- version: 2.2.2
443
+ version: 2.3.0
454
444
  required_rubygems_version: !ruby/object:Gem::Requirement
455
445
  requirements:
456
446
  - - ">="
457
447
  - !ruby/object:Gem::Version
458
448
  version: '0'
459
449
  requirements: []
460
- rubygems_version: 3.0.6
461
- signing_key:
450
+ rubygems_version: 3.2.15
451
+ signing_key:
462
452
  specification_version: 4
463
453
  summary: A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet,
464
454
  ActiveRecord and many more
@@ -501,6 +491,7 @@ test_files:
501
491
  - spec/moneta/adapters/cassandra/helper.rb
502
492
  - spec/moneta/adapters/cassandra/standard_cassandra_spec.rb
503
493
  - spec/moneta/adapters/client/adapter_client_spec.rb
494
+ - spec/moneta/adapters/client/client_helper.rb
504
495
  - spec/moneta/adapters/client/standard_client_tcp_spec.rb
505
496
  - spec/moneta/adapters/client/standard_client_unix_spec.rb
506
497
  - spec/moneta/adapters/cookie/adapter_cookie_spec.rb
@@ -550,10 +541,8 @@ test_files:
550
541
  - spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
551
542
  - spec/moneta/adapters/memcached/adapter_memcached_spec.rb
552
543
  - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
553
- - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
554
544
  - spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
555
545
  - spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
556
- - spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
557
546
  - spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
558
547
  - spec/moneta/adapters/memcached/standard_memcached_spec.rb
559
548
  - spec/moneta/adapters/memcached_helper.rb
@@ -566,14 +555,8 @@ test_files:
566
555
  - spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb
567
556
  - spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb
568
557
  - spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb
569
- - spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb
570
- - spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb
571
- - spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb
572
- - spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb
573
558
  - spec/moneta/adapters/mongo/adapter_mongo_spec.rb
574
559
  - spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb
575
- - spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb
576
- - spec/moneta/adapters/mongo/standard_mongo_official_spec.rb
577
560
  - spec/moneta/adapters/mongo/standard_mongo_spec.rb
578
561
  - spec/moneta/adapters/null/null_adapter_spec.rb
579
562
  - spec/moneta/adapters/null/standard_null_spec.rb
@@ -581,7 +564,6 @@ test_files:
581
564
  - spec/moneta/adapters/pstore/standard_pstore_spec.rb
582
565
  - spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
583
566
  - spec/moneta/adapters/redis/adapter_redis_spec.rb
584
- - spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
585
567
  - spec/moneta/adapters/redis/standard_redis_spec.rb
586
568
  - spec/moneta/adapters/restclient/adapter_restclient_spec.rb
587
569
  - spec/moneta/adapters/restclient/helper.rb
@@ -626,7 +608,6 @@ test_files:
626
608
  - spec/moneta/proxies/optionmerger/optionmerger_spec.rb
627
609
  - spec/moneta/proxies/pool/pool_spec.rb
628
610
  - spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
629
- - spec/moneta/proxies/proxy/proxy_redis_spec.rb
630
611
  - spec/moneta/proxies/shared/shared_tcp_spec.rb
631
612
  - spec/moneta/proxies/shared/shared_unix_spec.rb
632
613
  - spec/moneta/proxies/transformer/transformer_bencode_spec.rb
@@ -650,6 +631,7 @@ test_files:
650
631
  - spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb
651
632
  - spec/moneta/proxies/transformer/transformer_marshal_md5_spec.rb
652
633
  - spec/moneta/proxies/transformer/transformer_marshal_md5_spread_spec.rb
634
+ - spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb
653
635
  - spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb
654
636
  - spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb
655
637
  - spec/moneta/proxies/transformer/transformer_marshal_rmd160_spec.rb
@@ -677,7 +659,6 @@ test_files:
677
659
  - spec/moneta/semaphore_spec.rb
678
660
  - spec/moneta/stack_file_memory_spec.rb
679
661
  - spec/moneta/stack_memory_file_spec.rb
680
- - spec/quality_spec.rb
681
662
  - spec/rack/cache_moneta_spec.rb
682
663
  - spec/rack/moneta_cookies_spec.rb
683
664
  - spec/rack/moneta_store_spec.rb