moneta 1.5.2 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (254) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +12 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/LICENSE +1 -1
  5. data/lib/active_support/cache/moneta_store.rb +32 -6
  6. data/lib/moneta/adapters/activerecord/backend.rb +50 -0
  7. data/lib/moneta/adapters/activerecord/v5_backend.rb +80 -0
  8. data/lib/moneta/adapters/activerecord.rb +50 -95
  9. data/lib/moneta/adapters/activesupportcache.rb +69 -14
  10. data/lib/moneta/adapters/client.rb +1 -1
  11. data/lib/moneta/adapters/hbase.rb +1 -1
  12. data/lib/moneta/adapters/redis.rb +2 -1
  13. data/lib/moneta/adapters/sequel/mysql.rb +6 -18
  14. data/lib/moneta/adapters/sequel/postgres_hstore.rb +8 -1
  15. data/lib/moneta/adapters/sqlite.rb +4 -2
  16. data/lib/moneta/adapters/tokyotyrant.rb +1 -1
  17. data/lib/moneta/adapters/yaml.rb +7 -1
  18. data/lib/moneta/pool.rb +16 -18
  19. data/lib/moneta/server.rb +9 -11
  20. data/lib/moneta/transformer/config.rb +4 -4
  21. data/lib/moneta/transformer.rb +4 -0
  22. data/lib/moneta/version.rb +1 -1
  23. metadata +9 -452
  24. data/.github/workflows/ruby.yml +0 -425
  25. data/.gitignore +0 -15
  26. data/.rspec +0 -4
  27. data/.rubocop.yml +0 -194
  28. data/.yardopts +0 -6
  29. data/Gemfile +0 -206
  30. data/feature_matrix.yaml +0 -227
  31. data/moneta.gemspec +0 -36
  32. data/script/benchmarks +0 -605
  33. data/script/contributors +0 -12
  34. data/script/memusage +0 -40
  35. data/script/parallel-tests +0 -82
  36. data/script/start-couchdb +0 -27
  37. data/script/start-hbase +0 -47
  38. data/script/start-services +0 -10
  39. data/script/travis-logs +0 -14
  40. data/script/update-feature-matrix +0 -148
  41. data/spec/active_support/cache_moneta_store_spec.rb +0 -282
  42. data/spec/features/concurrent_create.rb +0 -42
  43. data/spec/features/concurrent_increment.rb +0 -39
  44. data/spec/features/create.rb +0 -25
  45. data/spec/features/create_expires.rb +0 -19
  46. data/spec/features/default_expires.rb +0 -14
  47. data/spec/features/each_key.rb +0 -119
  48. data/spec/features/expires.rb +0 -296
  49. data/spec/features/features.rb +0 -16
  50. data/spec/features/increment.rb +0 -98
  51. data/spec/features/marshallable_key.rb +0 -43
  52. data/spec/features/marshallable_value.rb +0 -7
  53. data/spec/features/multiprocess.rb +0 -8
  54. data/spec/features/not_create.rb +0 -7
  55. data/spec/features/not_each_key.rb +0 -7
  56. data/spec/features/not_increment.rb +0 -13
  57. data/spec/features/not_persist.rb +0 -9
  58. data/spec/features/null.rb +0 -66
  59. data/spec/features/persist.rb +0 -14
  60. data/spec/features/returndifferent.rb +0 -9
  61. data/spec/features/returnsame.rb +0 -9
  62. data/spec/features/store.rb +0 -261
  63. data/spec/features/store_large.rb +0 -13
  64. data/spec/features/transform_value.rb +0 -44
  65. data/spec/features/transform_value_expires.rb +0 -41
  66. data/spec/helper.rb +0 -445
  67. data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +0 -62
  68. data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +0 -128
  69. data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +0 -22
  70. data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +0 -28
  71. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +0 -54
  72. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +0 -54
  73. data/spec/moneta/adapters/activesupportcache/standard_activesupportcache_spec.rb +0 -14
  74. data/spec/moneta/adapters/cassandra/adapter_cassandra_spec.rb +0 -17
  75. data/spec/moneta/adapters/cassandra/adapter_cassandra_with_default_expires_spec.rb +0 -18
  76. data/spec/moneta/adapters/cassandra/helper.rb +0 -18
  77. data/spec/moneta/adapters/cassandra/standard_cassandra_spec.rb +0 -18
  78. data/spec/moneta/adapters/client/adapter_client_spec.rb +0 -11
  79. data/spec/moneta/adapters/client/client_helper.rb +0 -25
  80. data/spec/moneta/adapters/client/standard_client_tcp_spec.rb +0 -23
  81. data/spec/moneta/adapters/client/standard_client_unix_spec.rb +0 -28
  82. data/spec/moneta/adapters/cookie/adapter_cookie_spec.rb +0 -7
  83. data/spec/moneta/adapters/couch/adapter_couch_spec.rb +0 -204
  84. data/spec/moneta/adapters/couch/standard_couch_spec.rb +0 -15
  85. data/spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb +0 -19
  86. data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +0 -64
  87. data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +0 -21
  88. data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +0 -26
  89. data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +0 -22
  90. data/spec/moneta/adapters/daybreak/adapter_daybreak_spec.rb +0 -7
  91. data/spec/moneta/adapters/daybreak/standard_daybreak_spec.rb +0 -7
  92. data/spec/moneta/adapters/daybreak/standard_daybreak_with_expires_spec.rb +0 -11
  93. data/spec/moneta/adapters/dbm/adapter_dbm_spec.rb +0 -7
  94. data/spec/moneta/adapters/dbm/standard_dbm_spec.rb +0 -7
  95. data/spec/moneta/adapters/dbm/standard_dbm_with_expires_spec.rb +0 -12
  96. data/spec/moneta/adapters/faraday_helper.rb +0 -10
  97. data/spec/moneta/adapters/file/adapter_file_spec.rb +0 -7
  98. data/spec/moneta/adapters/file/standard_file_spec.rb +0 -7
  99. data/spec/moneta/adapters/file/standard_file_with_expires_spec.rb +0 -11
  100. data/spec/moneta/adapters/fog/adapter_fog_spec.rb +0 -16
  101. data/spec/moneta/adapters/fog/standard_fog_spec.rb +0 -15
  102. data/spec/moneta/adapters/fog/standard_fog_with_expires_spec.rb +0 -20
  103. data/spec/moneta/adapters/gdbm/adapter_gdbm_spec.rb +0 -7
  104. data/spec/moneta/adapters/gdbm/standard_gdbm_spec.rb +0 -7
  105. data/spec/moneta/adapters/gdbm/standard_gdbm_with_expires_spec.rb +0 -11
  106. data/spec/moneta/adapters/hashfile/standard_hashfile_spec.rb +0 -7
  107. data/spec/moneta/adapters/hashfile/standard_hashfile_with_expires_spec.rb +0 -12
  108. data/spec/moneta/adapters/hbase/adapter_hbase_spec.rb +0 -7
  109. data/spec/moneta/adapters/hbase/standard_hbase_spec.rb +0 -4
  110. data/spec/moneta/adapters/hbase/standard_hbase_with_expires_spec.rb +0 -8
  111. data/spec/moneta/adapters/kyotocabinet/adapter_kyotocabinet_spec.rb +0 -7
  112. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_spec.rb +0 -7
  113. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_with_expires_spec.rb +0 -14
  114. data/spec/moneta/adapters/leveldb/adapter_leveldb_spec.rb +0 -7
  115. data/spec/moneta/adapters/leveldb/standard_leveldb_spec.rb +0 -7
  116. data/spec/moneta/adapters/leveldb/standard_leveldb_with_expires_spec.rb +0 -11
  117. data/spec/moneta/adapters/lmdb/adapter_lmdb_spec.rb +0 -7
  118. data/spec/moneta/adapters/lmdb/adapter_lmdb_with_db_spec.rb +0 -7
  119. data/spec/moneta/adapters/lmdb/standard_lmdb_spec.rb +0 -7
  120. data/spec/moneta/adapters/lmdb/standard_lmdb_with_expires_spec.rb +0 -11
  121. data/spec/moneta/adapters/localmemcache/adapter_localmemcache_spec.rb +0 -7
  122. data/spec/moneta/adapters/localmemcache/standard_localmemcache_spec.rb +0 -7
  123. data/spec/moneta/adapters/localmemcache/standard_localmemcache_with_expires_spec.rb +0 -11
  124. data/spec/moneta/adapters/lruhash/adapter_lruhash_spec.rb +0 -118
  125. data/spec/moneta/adapters/lruhash/standard_lruhash_spec.rb +0 -4
  126. data/spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb +0 -8
  127. data/spec/moneta/adapters/memcached/adapter_memcached_spec.rb +0 -13
  128. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +0 -25
  129. data/spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb +0 -11
  130. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +0 -25
  131. data/spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb +0 -11
  132. data/spec/moneta/adapters/memcached/standard_memcached_spec.rb +0 -17
  133. data/spec/moneta/adapters/memcached_helper.rb +0 -20
  134. data/spec/moneta/adapters/memory/adapter_memory_spec.rb +0 -7
  135. data/spec/moneta/adapters/memory/standard_memory_spec.rb +0 -4
  136. data/spec/moneta/adapters/memory/standard_memory_with_compress_spec.rb +0 -9
  137. data/spec/moneta/adapters/memory/standard_memory_with_expires_spec.rb +0 -8
  138. data/spec/moneta/adapters/memory/standard_memory_with_json_key_serializer_spec.rb +0 -4
  139. data/spec/moneta/adapters/memory/standard_memory_with_json_serializer_spec.rb +0 -9
  140. data/spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb +0 -9
  141. data/spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb +0 -41
  142. data/spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb +0 -9
  143. data/spec/moneta/adapters/mongo/adapter_mongo_spec.rb +0 -41
  144. data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +0 -14
  145. data/spec/moneta/adapters/mongo/standard_mongo_spec.rb +0 -7
  146. data/spec/moneta/adapters/null/null_adapter_spec.rb +0 -7
  147. data/spec/moneta/adapters/null/standard_null_spec.rb +0 -9
  148. data/spec/moneta/adapters/pstore/adapter_pstore_spec.rb +0 -7
  149. data/spec/moneta/adapters/pstore/standard_pstore_spec.rb +0 -9
  150. data/spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb +0 -13
  151. data/spec/moneta/adapters/redis/adapter_redis_spec.rb +0 -20
  152. data/spec/moneta/adapters/redis/standard_redis_spec.rb +0 -14
  153. data/spec/moneta/adapters/restclient/adapter_restclient_spec.rb +0 -13
  154. data/spec/moneta/adapters/restclient/helper.rb +0 -12
  155. data/spec/moneta/adapters/restclient/standard_restclient_spec.rb +0 -13
  156. data/spec/moneta/adapters/riak/adapter_riak_spec.rb +0 -14
  157. data/spec/moneta/adapters/riak/standard_riak_spec.rb +0 -10
  158. data/spec/moneta/adapters/riak/standard_riak_with_expires_spec.rb +0 -14
  159. data/spec/moneta/adapters/sdbm/adapter_sdbm_spec.rb +0 -7
  160. data/spec/moneta/adapters/sdbm/standard_sdbm_spec.rb +0 -7
  161. data/spec/moneta/adapters/sdbm/standard_sdbm_with_expires_spec.rb +0 -11
  162. data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +0 -133
  163. data/spec/moneta/adapters/sequel/helper.rb +0 -83
  164. data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +0 -8
  165. data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +0 -18
  166. data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +0 -7
  167. data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +0 -7
  168. data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +0 -15
  169. data/spec/moneta/adapters/tdb/adapter_tdb_spec.rb +0 -7
  170. data/spec/moneta/adapters/tdb/standard_tdb_spec.rb +0 -7
  171. data/spec/moneta/adapters/tdb/standard_tdb_with_expires_spec.rb +0 -11
  172. data/spec/moneta/adapters/tokyocabinet/adapter_tokyocabinet_bdb_spec.rb +0 -7
  173. data/spec/moneta/adapters/tokyocabinet/adapter_tokyocabinet_hdb_spec.rb +0 -7
  174. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_spec.rb +0 -7
  175. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_with_expires_spec.rb +0 -11
  176. data/spec/moneta/adapters/tokyotyrant/adapter_tokyotyrant_spec.rb +0 -11
  177. data/spec/moneta/adapters/tokyotyrant/helper.rb +0 -12
  178. data/spec/moneta/adapters/tokyotyrant/standard_tokyotyrant_spec.rb +0 -7
  179. data/spec/moneta/adapters/tokyotyrant/standard_tokyotyrant_with_expires_spec.rb +0 -12
  180. data/spec/moneta/adapters/yaml/adapter_yaml_spec.rb +0 -7
  181. data/spec/moneta/adapters/yaml/standard_yaml_spec.rb +0 -9
  182. data/spec/moneta/adapters/yaml/standard_yaml_with_expires_spec.rb +0 -13
  183. data/spec/moneta/builder_spec.rb +0 -50
  184. data/spec/moneta/config_spec.rb +0 -219
  185. data/spec/moneta/mutex_spec.rb +0 -55
  186. data/spec/moneta/proxies/cache/cache_file_memory_spec.rb +0 -24
  187. data/spec/moneta/proxies/cache/cache_memory_null_spec.rb +0 -12
  188. data/spec/moneta/proxies/enumerable/enumerable_spec.rb +0 -26
  189. data/spec/moneta/proxies/expires/expires_file_spec.rb +0 -28
  190. data/spec/moneta/proxies/expires/expires_memory_spec.rb +0 -15
  191. data/spec/moneta/proxies/expires/expires_memory_with_default_expires_spec.rb +0 -16
  192. data/spec/moneta/proxies/fallback/fallback_spec.rb +0 -42
  193. data/spec/moneta/proxies/lock/lock_spec.rb +0 -10
  194. data/spec/moneta/proxies/optionmerger/optionmerger_spec.rb +0 -96
  195. data/spec/moneta/proxies/pool/pool_spec.rb +0 -353
  196. data/spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb +0 -16
  197. data/spec/moneta/proxies/shared/shared_tcp_spec.rb +0 -59
  198. data/spec/moneta/proxies/shared/shared_unix_spec.rb +0 -58
  199. data/spec/moneta/proxies/transformer/transformer_bencode_spec.rb +0 -19
  200. data/spec/moneta/proxies/transformer/transformer_bert_spec.rb +0 -19
  201. data/spec/moneta/proxies/transformer/transformer_bson_spec.rb +0 -25
  202. data/spec/moneta/proxies/transformer/transformer_bzip2_spec.rb +0 -19
  203. data/spec/moneta/proxies/transformer/transformer_json_spec.rb +0 -19
  204. data/spec/moneta/proxies/transformer/transformer_key_inspect_spec.rb +0 -17
  205. data/spec/moneta/proxies/transformer/transformer_key_marshal_spec.rb +0 -17
  206. data/spec/moneta/proxies/transformer/transformer_key_to_s_spec.rb +0 -17
  207. data/spec/moneta/proxies/transformer/transformer_key_yaml_spec.rb +0 -17
  208. data/spec/moneta/proxies/transformer/transformer_lz4_spec.rb +0 -19
  209. data/spec/moneta/proxies/transformer/transformer_lzma_spec.rb +0 -19
  210. data/spec/moneta/proxies/transformer/transformer_lzo_spec.rb +0 -19
  211. data/spec/moneta/proxies/transformer/transformer_marshal_base64_spec.rb +0 -20
  212. data/spec/moneta/proxies/transformer/transformer_marshal_city128_spec.rb +0 -15
  213. data/spec/moneta/proxies/transformer/transformer_marshal_city32_spec.rb +0 -15
  214. data/spec/moneta/proxies/transformer/transformer_marshal_city64_spec.rb +0 -15
  215. data/spec/moneta/proxies/transformer/transformer_marshal_escape_spec.rb +0 -21
  216. data/spec/moneta/proxies/transformer/transformer_marshal_hex_spec.rb +0 -20
  217. data/spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb +0 -19
  218. data/spec/moneta/proxies/transformer/transformer_marshal_md5_spec.rb +0 -15
  219. data/spec/moneta/proxies/transformer/transformer_marshal_md5_spread_spec.rb +0 -15
  220. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb +0 -33
  221. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb +0 -15
  222. data/spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb +0 -20
  223. data/spec/moneta/proxies/transformer/transformer_marshal_rmd160_spec.rb +0 -15
  224. data/spec/moneta/proxies/transformer/transformer_marshal_sha1_spec.rb +0 -15
  225. data/spec/moneta/proxies/transformer/transformer_marshal_sha256_spec.rb +0 -15
  226. data/spec/moneta/proxies/transformer/transformer_marshal_sha384_spec.rb +0 -15
  227. data/spec/moneta/proxies/transformer/transformer_marshal_sha512_spec.rb +0 -15
  228. data/spec/moneta/proxies/transformer/transformer_marshal_spec.rb +0 -19
  229. data/spec/moneta/proxies/transformer/transformer_marshal_truncate_spec.rb +0 -15
  230. data/spec/moneta/proxies/transformer/transformer_marshal_urlsafe_base64_spec.rb +0 -20
  231. data/spec/moneta/proxies/transformer/transformer_marshal_uuencode_spec.rb +0 -19
  232. data/spec/moneta/proxies/transformer/transformer_msgpack_spec.rb +0 -19
  233. data/spec/moneta/proxies/transformer/transformer_ox_spec.rb +0 -19
  234. data/spec/moneta/proxies/transformer/transformer_php_spec.rb +0 -19
  235. data/spec/moneta/proxies/transformer/transformer_quicklz_spec.rb +0 -19
  236. data/spec/moneta/proxies/transformer/transformer_snappy_spec.rb +0 -19
  237. data/spec/moneta/proxies/transformer/transformer_tnet_spec.rb +0 -19
  238. data/spec/moneta/proxies/transformer/transformer_value_marshal_spec.rb +0 -19
  239. data/spec/moneta/proxies/transformer/transformer_value_yaml_spec.rb +0 -19
  240. data/spec/moneta/proxies/transformer/transformer_yaml_spec.rb +0 -19
  241. data/spec/moneta/proxies/transformer/transformer_zlib_spec.rb +0 -19
  242. data/spec/moneta/proxies/weak_create/weak_create_spec.rb +0 -21
  243. data/spec/moneta/proxies/weak_each_key/weak_each_key_spec.rb +0 -22
  244. data/spec/moneta/proxies/weak_increment/weak_increment_spec.rb +0 -21
  245. data/spec/moneta/semaphore_spec.rb +0 -68
  246. data/spec/moneta/stack_file_memory_spec.rb +0 -15
  247. data/spec/moneta/stack_memory_file_spec.rb +0 -13
  248. data/spec/rack/cache_moneta_spec.rb +0 -355
  249. data/spec/rack/moneta_cookies_spec.rb +0 -83
  250. data/spec/rack/moneta_store_spec.rb +0 -83
  251. data/spec/rack/session_moneta_spec.rb +0 -350
  252. data/spec/restserver.rb +0 -44
  253. data/test/action_dispatch/fixtures/session_autoload_test/foo.rb +0 -10
  254. data/test/action_dispatch/session_moneta_store_test.rb +0 -204
data/Gemfile DELETED
@@ -1,206 +0,0 @@
1
- source 'https://rubygems.org'
2
- gemspec
3
-
4
- group :transformers, optional: true do
5
- group :tnet, optional: true do
6
- gem 'tnetstring'
7
- end
8
-
9
- group :bencode, optional: true do
10
- gem 'bencode'
11
- end
12
-
13
- group :ox, optional: true do
14
- gem 'ox', platforms: :ruby
15
- end
16
-
17
- group :bert, optional: true do
18
- gem 'bert', platforms: :ruby
19
- end
20
-
21
- group :php, optional: true do
22
- gem 'php-serialize'
23
- end
24
-
25
- group :bson, optional: true do
26
- gem 'bson', '>= 4.0.0'
27
- end
28
-
29
- group :msgpack, optional: true do
30
- gem 'msgpack', platforms: :ruby
31
- gem 'msgpack-jruby', platforms: :jruby
32
- end
33
-
34
- # Compressors used by Transformer
35
- group :bzip2, optional: true do
36
- gem 'rbzip2', '>= 0.3.0'
37
- end
38
-
39
- group :lz4, optional: true do
40
- gem 'lz4-ruby', platforms: :ruby
41
- end
42
-
43
- group :lzma, optional: true do
44
- gem 'ruby-lzma', platforms: :ruby
45
- end
46
-
47
- group :lzo, optional: true do
48
- gem 'lzoruby', platforms: :ruby
49
- end
50
-
51
- group :snappy, optional: true do
52
- gem 'snappy', platforms: :ruby
53
- end
54
-
55
- # Hash transformer library
56
- group :city, optional: true do
57
- gem 'cityhash', platforms: :ruby
58
- end
59
- end
60
-
61
- # Backends
62
- group :Daybreak, optional: true do
63
- gem 'daybreak'
64
- end
65
-
66
- group :ActiveRecord, optional: true do
67
- gem 'activerecord', '~> 5.2'
68
- end
69
-
70
- group :Redis, optional: true do
71
- gem 'redis', '~> 4.2'
72
- end
73
-
74
- group :Mongo, optional: true do
75
- gem 'mongo', '>= 2'
76
- end
77
-
78
- group :Sequel, optional: true do
79
- gem 'sequel', '5.52.0'
80
- end
81
-
82
- group :Memcached, optional: true do
83
- group :MemcachedDalli, optional: true do
84
- gem 'dalli', '~> 2.7.11'
85
- end
86
-
87
- group :MemcachedNative, optional: true do
88
- gem 'jruby-memcached', platforms: :jruby
89
- gem 'memcached', platforms: :ruby
90
- end
91
- end
92
-
93
- group :Riak, optional: true do
94
- gem 'riak-client'
95
- end
96
-
97
- group :Cassandra, optional: true do
98
- install_if lambda { RUBY_ENGINE != 'ruby' || Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0') } do
99
- gem 'cassandra-driver'
100
- end
101
- end
102
-
103
- group :TokyoTyrant, optional: true do
104
- gem 'tokyotyrant'
105
- end
106
-
107
- group :HBase, optional: true do
108
- gem 'hbaserb'
109
- end
110
-
111
- group :LocalMemCache, optional: true do
112
- gem 'localmemcache', platforms: :ruby
113
- end
114
-
115
- group :TDB, optional: true do
116
- gem 'tdb', platforms: :ruby
117
- end
118
-
119
- group :LevelDB, optional: true do
120
- gem 'leveldb-ruby', platforms: :ruby
121
- end
122
-
123
- group :LMDB, optional: true do
124
- gem 'lmdb', platforms: :mri
125
- end
126
-
127
- group :TokyoCabinet, optional: true do
128
- gem 'tokyocabinet', platforms: :ruby
129
- end
130
-
131
- group :KyotoCabinet, optional: true do
132
- install_if lambda { Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0') } do
133
- gem 'kyotocabinet-ruby-reanimated', platforms: :ruby
134
- end
135
- end
136
-
137
- group :H2, optional: true do
138
- gem 'activerecord-jdbch2-adapter', platforms: :jruby, github: 'jruby/activerecord-jdbc-adapter', glob: 'activerecord-jdbch2-adapter/*.gemspec', branch: '52-stable'
139
- end
140
-
141
- group :GDBM, optional: true do
142
- gem 'ffi-gdbm', platforms: :jruby
143
- end
144
-
145
- group :RestClient do
146
- gem 'faraday'
147
- gem 'webrick'
148
- end
149
-
150
- group :DataMapper, optional: true do
151
- install_if lambda { RUBY_ENGINE == 'ruby' && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.0.0') } do
152
- gem 'dm-core'
153
- gem 'dm-migrations'
154
- gem 'dm-mysql-adapter'
155
- end
156
- end
157
-
158
- group :Fog, optional: true do
159
- gem 'fog-aws', '>= 1.11.1'
160
- gem 'mime-types'
161
- end
162
-
163
- group :mysql, optional: true do
164
- gem 'activerecord-jdbcmysql-adapter', platforms: :jruby
165
- gem 'mysql2', platforms: :ruby
166
- end
167
-
168
- group :sqlite, optional: true do
169
- gem 'activerecord-jdbcsqlite3-adapter', platforms: :jruby
170
- gem 'sqlite3', '~> 1.5.3', platforms: :ruby
171
- end
172
-
173
- group :postgresql, optional: true do
174
- gem 'activerecord-jdbcpostgresql-adapter', platforms: :jruby
175
- gem 'pg', platforms: :ruby
176
- end
177
-
178
- group :SDBM, optional: true do
179
- install_if lambda { Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0') } do
180
- gem 'sdbm', platforms: :ruby
181
- end
182
- end
183
-
184
- # Rack integration testing
185
- group :rack do
186
- gem 'rack'
187
- gem 'rack-cache'
188
- end
189
-
190
- # Rails integration testing
191
- group :rails do
192
- gem 'actionpack', '~> 5.2.0'
193
- gem 'minitest', '~> 5.0'
194
- end
195
-
196
- # Used for generating the feature matrix
197
- group :doc, optional: true do
198
- gem 'kramdown', '~> 2.3.0'
199
- gem 'yard', '~> 0.9.20'
200
- end
201
-
202
- # Used for running a dev console
203
- group :console, optional: true do
204
- gem 'irb'
205
- gem 'rdoc'
206
- end
data/feature_matrix.yaml DELETED
@@ -1,227 +0,0 @@
1
- ---
2
- group: Persistent stores
3
- features: [ persist ]
4
- notes:
5
- poor multiprocess performance: >
6
- Sqlite/YAML/PStore are multiprocess safe, but the performance suffers badly
7
- since the whole database file must be locked for writing. Use a key/value
8
- server if you want multiprocess concurrency!
9
- backends:
10
- - adapter: Mongo
11
- platforms: [ MRI, JRuby ]
12
- gems: mongo
13
- features: [ threadsafe, multiprocess, increment, create, expires, each_key, bulk_read, bulk_write ]
14
- description: "[MongoDB](http://www.mongodb.org/) database"
15
- - adapter: Redis
16
- platforms: [ MRI, JRuby ]
17
- gems: redis
18
- features: [ threadsafe, multiprocess, increment, create, expires, each_key, bulk_read, bulk_write ]
19
- description: "[Redis](http://redis.io/) database"
20
- - adapter: ActiveRecord
21
- platforms: [ MRI, JRuby ]
22
- gems: activerecord
23
- features: [ threadsafe, multiprocess, increment, create, each_key, bulk_read, bulk_write ]
24
- description: "[ActiveRecord](https://rubygems.org/gems/activerecord) ORM"
25
- - adapter: File
26
- platforms: [ MRI, JRuby ]
27
- features: [ threadsafe, multiprocess, increment, create, each_key ]
28
- description: "File store"
29
- - adapter: LMDB
30
- platforms: [ MRI ]
31
- gems: lmdb
32
- features: [ threadsafe, multiprocess, increment, create, each_key, bulk_read, bulk_write ]
33
- description: "[Symas Lightning Memory-Mapped Database (LMDB)](http://symas.com/lmdb)"
34
- - adapter: Sequel
35
- platforms: [ MRI, JRuby ]
36
- gems: sequel
37
- features: [ threadsafe, multiprocess, increment, create, each_key, bulk_read, bulk_write ]
38
- description: "[Sequel](http://sequel.rubyforge.org/) ORM"
39
- - adapter: TokyoTyrant
40
- platforms: [ MRI, JRuby ]
41
- gems: tokyotyrant or ruby-tokyotyrant
42
- features: [ multiprocess, increment, create, bulk_read ]
43
- description: "[TokyoTyrant](http://fallabs.com/tokyotyrant/) database"
44
- - adapter: PStore
45
- platforms: [ MRI ]
46
- features: [ multiprocess, increment, create, each_key, bulk_read, bulk_write ]
47
- description: "[PStore](http://ruby-doc.org/stdlib/libdoc/pstore/rdoc/PStore.html) store"
48
- notes:
49
- multiprocess: poor multiprocess performance
50
- - adapter: YAML
51
- platforms: [ MRI, JRuby ]
52
- features: [ multiprocess, increment, create, each_key ]
53
- description: "[YAML](http://www.ruby-doc.org/stdlib/libdoc/yaml/rdoc/YAML/Store.html) store"
54
- notes:
55
- multiprocess: poor multiprocess performance
56
- - adapter: Sqlite
57
- platforms: [ MRI ]
58
- gems: sqlite3
59
- features: [ multiprocess, increment, create, bulk_read, bulk_write, each_key ]
60
- description: "[Sqlite3](http://sqlite.org/) database"
61
- unknown: [ threadsafe ]
62
- notes:
63
- multiprocess: poor multiprocess performance
64
- - adapter: Daybreak
65
- platforms: [ MRI, JRuby ]
66
- gems: daybreak
67
- features: [ multiprocess, increment, create, each_key, bulk_write ]
68
- description: "Incredibly fast pure-ruby key/value store [Daybreak](http://propublica.github.com/daybreak/)"
69
- - adapter: DBM
70
- platforms: [ MRI ]
71
- features: [ increment, create, each_key, bulk_read, bulk_write ]
72
- description: "[Berkeley DB using DBM interface or NDBM (Depends on Ruby environment)](http://www.ruby-doc.org/stdlib/libdoc/dbm/rdoc/DBM.html)"
73
- - adapter: GDBM
74
- platforms: [ MRI, JRuby ]
75
- gems: ffi-gdbm on JRuby
76
- features: [ increment, create, each_key, bulk_read, bulk_write ]
77
- description: "[GDBM](http://www.ruby-doc.org/stdlib/libdoc/gdbm/rdoc/GDBM.html) database"
78
- - adapter: LevelDB
79
- platforms: [ MRI ]
80
- gems: leveldb
81
- features: [ increment, create, each_key, bulk_read, bulk_write ]
82
- description: "[LevelDB](http://code.google.com/p/leveldb/) database"
83
- - adapter: SDBM
84
- platforms: [ MRI ]
85
- features: [ increment, create, each_key, bulk_read, bulk_write ]
86
- description: "[SDBM](http://www.ruby-doc.org/stdlib/libdoc/sdbm/rdoc/SDBM.html) database"
87
- - adapter: TDB
88
- platforms: [ MRI ]
89
- gems: tdb
90
- features: [ increment, create, each_key ]
91
- description: "[TDB](http://tdb.samba.org/) database"
92
- - adapter: KyotoCabinet
93
- platforms: [ MRI ]
94
- gems: kyotocabinet-ruby or kyotocabinet-ruby-reanimated
95
- features: [ increment, create, each_key, bulk_read, bulk_write ]
96
- description: "[KyotoCabinet](http://fallabs.com/kyotocabinet/) database"
97
- - adapter: TokyoCabinet
98
- platforms: [ MRI ]
99
- gems: tokyocabinet
100
- features: [ increment, create, each_key ]
101
- description: "[TokyoCabinet](http://fallabs.com/tokyocabinet/) database"
102
- - adapter: DataMapper
103
- platforms: [ MRI ]
104
- gems: dm-core, dm-migrations
105
- features: [ threadsafe, multiprocess, create ]
106
- description: "[DataMapper](http://datamapper.org/) ORM"
107
- - adapter: Couch
108
- platforms: [ MRI, JRuby ]
109
- gems: faraday, multi_json
110
- features: [ multiprocess, create, each_key, bulk_read, bulk_write ]
111
- description: "[CouchDB](http://couchdb.apache.org/) database"
112
- - adapter: HBase
113
- platforms: [ Unstable ]
114
- gems: hbaserb
115
- features: [ multiprocess, increment ]
116
- unknown: [threadsafe]
117
- description: "[HBase](http://hbase.apache.org/) database"
118
- - adapter: Cassandra
119
- platforms: [ MRI, JRuby ]
120
- gems: cassandra
121
- features: [ multiprocess, expires, each_key, bulk_read, bulk_write ]
122
- unknown: [threadsafe]
123
- description: "[Cassandra](http://cassandra.apache.org/) distributed database"
124
- - adapter: LocalMemCache
125
- platforms: [ MRI ]
126
- gems: localmemcache
127
- features: [ threadsafe, multiprocess ]
128
- description: "[LocalMemCache](http://localmemcache.rubyforge.org/) database"
129
- - adapter: Fog
130
- platforms: [ MRI, JRuby ]
131
- gems: fog
132
- features: [multiprocess]
133
- unknown: [threadsafe]
134
- description: "[Fog](http://fog.io/) cloud store"
135
- - adapter: Riak
136
- platforms: [ Unstable ]
137
- gems: riak-client
138
- features: [multiprocess]
139
- description: "[Riak](http://docs.basho.com/) database"
140
- ---
141
- group: Non-persistent stores
142
- notes:
143
- memcached protocol: >
144
- There are some servers which use the memcached protocol but which are persistent
145
- (e.g. [MemcacheDB](http://memcachedb.org/),
146
- [Kai](http://sourceforge.net/apps/mediawiki/kai),
147
- [IronCache](http://dev.iron.io/cache/reference/memcache/),
148
- [Roma](https://github.com/roma/roma/tree),
149
- [Flare](http://labs.gree.jp/Top/OpenSource/Flare-en.html) and
150
- [Kumofs](https://github.com/etolabo/kumofs))
151
- memcached backend: >
152
- This feature is only available if the dalli backend is selected
153
- in-memory multiprocess caveat: >
154
- Store is multi-process safe because it is an in-memory store, values are not
155
- shared between multiple processes
156
- backends:
157
- - adapter: MemcachedDalli
158
- platforms: [ MRI, JRuby ]
159
- gems: dalli
160
- features: [ threadsafe, multiprocess, increment, create, expires, bulk_read, bulk_write ]
161
- description: "[Memcached](http://memcached.org/) database with Dalli library"
162
- notes:
163
- persist: memcached protocol
164
- - adapter: Memcached
165
- platforms: [ MRI ]
166
- gems: dalli or memcached
167
- features: [ multiprocess, increment, create, expires ]
168
- unknown: [ threadsafe, bulk_read, bulk_write, JRuby ]
169
- description: "[Memcached](http://memcached.org/) database"
170
- notes:
171
- persist: memcached protocol
172
- JRuby: memcached backend
173
- threadsafe: memcached backend
174
- bulk_read: memcached backend
175
- bulk_write: memcached backend
176
- - adapter: MemcachedNative
177
- platforms: [ MRI ]
178
- gems: memcached
179
- features: [ multiprocess, increment, create, expires ]
180
- description: "Memcached database with native library"
181
- notes:
182
- persist: memcached protocol
183
- - adapter: Cookie
184
- platforms: [ MRI, JRuby ]
185
- features: [ multiprocess, increment, create, expires, each_key ]
186
- description: "Cookie in memory store"
187
- notes:
188
- multiprocess: in-memory multiprocess caveat
189
- - adapter: LRUHash
190
- platforms: [ MRI, JRuby ]
191
- features: [ multiprocess, increment, create, each_key ]
192
- description: "LRU memory store"
193
- notes:
194
- multiprocess: in-memory multiprocess caveat
195
- - adapter: Memory
196
- platforms: [ MRI, JRuby ]
197
- features: [ multiprocess, increment, create, each_key, bulk_read, bulk_write ]
198
- description: Memory store
199
- notes:
200
- multiprocess: in-memory multiprocess caveat
201
- - adapter: "Null"
202
- platforms: [ MRI, JRuby ]
203
- features: [ threadsafe, multiprocess ]
204
- description: "No database"
205
- ---
206
- group: Network clients
207
- notes:
208
- depends on server: Depends on server
209
- backends:
210
- - adapter: Client
211
- platforms: [ MRI, JRuby ]
212
- features: [multiprocess]
213
- unknown: [ increment, create, expires, persist, each_key ]
214
- description: "Moneta client adapter"
215
- notes:
216
- increment: depends on server
217
- create: depends on server
218
- expires: depends on server
219
- persist: depends on server
220
- each_key: depends on server
221
- - adapter: RestClient
222
- platforms: [ MRI, JRuby ]
223
- features: [ multiprocess ]
224
- unknown: [ persist ]
225
- description: "Moneta REST client adapter"
226
- notes:
227
- persist: depends on server
data/moneta.gemspec DELETED
@@ -1,36 +0,0 @@
1
- require File.dirname(__FILE__) + '/lib/moneta/version'
2
- require 'date'
3
-
4
- Gem::Specification.new do |s|
5
- s.name = 'moneta'
6
- s.version = Moneta::VERSION
7
- s.date = Date.today.to_s
8
- s.authors = ['Daniel Mendler', 'Yehuda Katz', 'Hannes Georg', 'Alastair Pharo']
9
- s.email = %w{mail@daniel-mendler.de wycats@gmail.com hannes.georg@googlemail.com me@asph.dev}
10
- s.description = 'A unified interface to key/value stores'
11
- s.extra_rdoc_files = %w{README.md SPEC.md LICENSE}
12
- s.files = `git ls-files`.split("\n")
13
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
- s.homepage = 'https://github.com/moneta-rb/moneta'
16
- s.licenses = %w(MIT)
17
- s.require_paths = %w(lib)
18
- s.summary = %{A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet, ActiveRecord and many more}
19
-
20
- s.metadata = {
21
- 'bug_tracker_uri' => 'https://github.com/moneta-rb/moneta/issues',
22
- 'changelog_uri' => "https://github.com/moneta-rb/moneta/blob/v#{s.version}/CHANGES",
23
- 'documentation_uri' => "https://www.rubydoc.info/gems/moneta/#{s.version}",
24
- 'source_code_uri' => "https://github.com/moneta-rb/moneta/tree/v#{s.version}",
25
- }
26
-
27
- s.required_ruby_version = '>= 2.3.0'
28
-
29
- s.add_development_dependency 'multi_json', '~> 1.15.0'
30
- s.add_development_dependency 'parallel_tests', '~> 2.29.2'
31
- s.add_development_dependency 'rantly', '~> 1.2.0'
32
- s.add_development_dependency 'rspec', '~> 3.0'
33
- s.add_development_dependency 'rspec-retry', '~> 0.6.1'
34
- s.add_development_dependency 'rubocop', '~> 0.81.0'
35
- s.add_development_dependency 'timecop', '~> 0.9.1'
36
- end