moneta 1.0.0 → 1.5.1

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.
Files changed (488) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +425 -0
  3. data/.gitignore +3 -0
  4. data/.rspec +4 -0
  5. data/.rubocop.yml +194 -0
  6. data/.yardopts +6 -1
  7. data/CHANGES +88 -0
  8. data/CONTRIBUTORS +10 -2
  9. data/Gemfile +198 -76
  10. data/LICENSE +1 -1
  11. data/README.md +181 -83
  12. data/SPEC.md +70 -0
  13. data/feature_matrix.yaml +227 -0
  14. data/lib/action_dispatch/middleware/session/moneta_store.rb +1 -0
  15. data/lib/active_support/cache/moneta_store.rb +102 -6
  16. data/lib/moneta/adapter.rb +52 -0
  17. data/lib/moneta/adapters/activerecord.rb +284 -99
  18. data/lib/moneta/adapters/activesupportcache.rb +120 -0
  19. data/lib/moneta/adapters/cassandra.rb +303 -51
  20. data/lib/moneta/adapters/client.rb +72 -23
  21. data/lib/moneta/adapters/couch.rb +353 -49
  22. data/lib/moneta/adapters/datamapper.rb +11 -5
  23. data/lib/moneta/adapters/daybreak.rb +31 -20
  24. data/lib/moneta/adapters/dbm.rb +10 -16
  25. data/lib/moneta/adapters/file.rb +34 -13
  26. data/lib/moneta/adapters/fog.rb +5 -6
  27. data/lib/moneta/adapters/gdbm.rb +10 -16
  28. data/lib/moneta/adapters/hbase.rb +11 -13
  29. data/lib/moneta/adapters/kyotocabinet.rb +78 -17
  30. data/lib/moneta/adapters/leveldb.rb +35 -15
  31. data/lib/moneta/adapters/lmdb.rb +47 -23
  32. data/lib/moneta/adapters/localmemcache.rb +7 -13
  33. data/lib/moneta/adapters/lruhash.rb +45 -48
  34. data/lib/moneta/adapters/memcached/dalli.rb +67 -30
  35. data/lib/moneta/adapters/memcached/native.rb +33 -30
  36. data/lib/moneta/adapters/memcached.rb +1 -0
  37. data/lib/moneta/adapters/memory.rb +7 -7
  38. data/lib/moneta/adapters/mongo.rb +265 -6
  39. data/lib/moneta/adapters/null.rb +1 -2
  40. data/lib/moneta/adapters/pstore.rb +68 -25
  41. data/lib/moneta/adapters/redis.rb +101 -32
  42. data/lib/moneta/adapters/restclient.rb +17 -16
  43. data/lib/moneta/adapters/riak.rb +10 -11
  44. data/lib/moneta/adapters/sdbm.rb +10 -16
  45. data/lib/moneta/adapters/sequel/mysql.rb +66 -0
  46. data/lib/moneta/adapters/sequel/postgres.rb +80 -0
  47. data/lib/moneta/adapters/sequel/postgres_hstore.rb +240 -0
  48. data/lib/moneta/adapters/sequel/sqlite.rb +57 -0
  49. data/lib/moneta/adapters/sequel.rb +253 -52
  50. data/lib/moneta/adapters/sqlite.rb +103 -23
  51. data/lib/moneta/adapters/tdb.rb +21 -12
  52. data/lib/moneta/adapters/tokyocabinet.rb +24 -16
  53. data/lib/moneta/adapters/tokyotyrant.rb +49 -28
  54. data/lib/moneta/adapters/yaml.rb +1 -5
  55. data/lib/moneta/builder.rb +2 -3
  56. data/lib/moneta/cache.rb +11 -1
  57. data/lib/moneta/config.rb +101 -0
  58. data/lib/moneta/create_support.rb +21 -0
  59. data/lib/moneta/dbm_adapter.rb +31 -0
  60. data/lib/moneta/defaults.rb +320 -0
  61. data/lib/moneta/each_key_support.rb +27 -0
  62. data/lib/moneta/enumerable.rb +38 -0
  63. data/lib/moneta/expires.rb +112 -11
  64. data/lib/moneta/expires_support.rb +59 -0
  65. data/lib/moneta/fallback.rb +84 -0
  66. data/lib/moneta/hash_adapter.rb +68 -0
  67. data/lib/moneta/increment_support.rb +16 -0
  68. data/lib/moneta/lock.rb +26 -2
  69. data/lib/moneta/logger.rb +2 -2
  70. data/lib/moneta/nil_values.rb +35 -0
  71. data/lib/moneta/option_support.rb +51 -0
  72. data/lib/moneta/optionmerger.rb +0 -1
  73. data/lib/moneta/pool.rb +339 -28
  74. data/lib/moneta/proxy.rb +75 -2
  75. data/lib/moneta/server.rb +230 -68
  76. data/lib/moneta/shared.rb +36 -14
  77. data/lib/moneta/stack.rb +7 -7
  78. data/lib/moneta/synchronize.rb +5 -11
  79. data/lib/moneta/transformer/config.rb +64 -42
  80. data/lib/moneta/transformer/helper/bson.rb +7 -14
  81. data/lib/moneta/transformer/helper.rb +5 -5
  82. data/lib/moneta/transformer.rb +217 -23
  83. data/lib/moneta/utils.rb +3 -9
  84. data/lib/moneta/version.rb +1 -1
  85. data/lib/moneta/weak_each_key.rb +72 -0
  86. data/lib/moneta/wrapper.rb +30 -0
  87. data/lib/moneta.rb +29 -10
  88. data/lib/rack/cache/moneta.rb +13 -11
  89. data/lib/rack/moneta_rest.rb +2 -2
  90. data/lib/rack/session/moneta.rb +3 -4
  91. data/moneta.gemspec +19 -4
  92. data/script/benchmarks +311 -100
  93. data/script/contributors +11 -6
  94. data/script/parallel-tests +58 -83
  95. data/script/start-couchdb +27 -0
  96. data/script/start-hbase +47 -0
  97. data/script/start-services +5 -6
  98. data/script/update-feature-matrix +148 -0
  99. data/spec/active_support/cache_moneta_store_spec.rb +129 -106
  100. data/spec/features/concurrent_create.rb +42 -0
  101. data/spec/features/concurrent_increment.rb +39 -0
  102. data/spec/features/create.rb +25 -0
  103. data/spec/features/create_expires.rb +19 -0
  104. data/spec/features/default_expires.rb +14 -0
  105. data/spec/features/each_key.rb +119 -0
  106. data/spec/features/expires.rb +296 -0
  107. data/spec/features/features.rb +16 -0
  108. data/spec/features/increment.rb +98 -0
  109. data/spec/features/marshallable_key.rb +43 -0
  110. data/spec/features/marshallable_value.rb +7 -0
  111. data/spec/features/multiprocess.rb +8 -0
  112. data/spec/features/not_create.rb +7 -0
  113. data/spec/features/not_each_key.rb +7 -0
  114. data/spec/features/not_increment.rb +13 -0
  115. data/spec/features/not_persist.rb +9 -0
  116. data/spec/features/null.rb +66 -0
  117. data/spec/features/persist.rb +14 -0
  118. data/spec/features/returndifferent.rb +9 -0
  119. data/spec/features/returnsame.rb +9 -0
  120. data/spec/features/store.rb +261 -0
  121. data/spec/features/store_large.rb +13 -0
  122. data/spec/features/transform_value.rb +44 -0
  123. data/spec/features/transform_value_expires.rb +41 -0
  124. data/spec/helper.rb +345 -78
  125. data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +61 -0
  126. data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +126 -0
  127. data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +21 -0
  128. data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +27 -0
  129. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +54 -0
  130. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +54 -0
  131. data/spec/moneta/adapters/activesupportcache/standard_activesupportcache_spec.rb +14 -0
  132. data/spec/moneta/adapters/cassandra/adapter_cassandra_spec.rb +17 -0
  133. data/spec/moneta/adapters/cassandra/adapter_cassandra_with_default_expires_spec.rb +18 -0
  134. data/spec/moneta/adapters/cassandra/helper.rb +18 -0
  135. data/spec/moneta/adapters/cassandra/standard_cassandra_spec.rb +18 -0
  136. data/spec/moneta/adapters/client/adapter_client_spec.rb +11 -0
  137. data/spec/moneta/adapters/client/client_helper.rb +25 -0
  138. data/spec/moneta/adapters/client/standard_client_tcp_spec.rb +23 -0
  139. data/spec/moneta/adapters/client/standard_client_unix_spec.rb +28 -0
  140. data/spec/moneta/adapters/cookie/adapter_cookie_spec.rb +7 -0
  141. data/spec/moneta/adapters/couch/adapter_couch_spec.rb +204 -0
  142. data/spec/moneta/adapters/couch/standard_couch_spec.rb +15 -0
  143. data/spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb +19 -0
  144. data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +60 -0
  145. data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +21 -0
  146. data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +26 -0
  147. data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +22 -0
  148. data/spec/moneta/adapters/daybreak/adapter_daybreak_spec.rb +7 -0
  149. data/spec/moneta/adapters/daybreak/standard_daybreak_spec.rb +7 -0
  150. data/spec/moneta/adapters/daybreak/standard_daybreak_with_expires_spec.rb +11 -0
  151. data/spec/moneta/adapters/dbm/adapter_dbm_spec.rb +7 -0
  152. data/spec/moneta/adapters/dbm/standard_dbm_spec.rb +7 -0
  153. data/spec/moneta/adapters/dbm/standard_dbm_with_expires_spec.rb +12 -0
  154. data/spec/moneta/adapters/faraday_helper.rb +10 -0
  155. data/spec/moneta/adapters/file/adapter_file_spec.rb +7 -0
  156. data/spec/moneta/adapters/file/standard_file_spec.rb +7 -0
  157. data/spec/moneta/adapters/file/standard_file_with_expires_spec.rb +11 -0
  158. data/spec/moneta/adapters/fog/adapter_fog_spec.rb +16 -0
  159. data/spec/moneta/adapters/fog/standard_fog_spec.rb +15 -0
  160. data/spec/moneta/adapters/fog/standard_fog_with_expires_spec.rb +20 -0
  161. data/spec/moneta/adapters/gdbm/adapter_gdbm_spec.rb +7 -0
  162. data/spec/moneta/adapters/gdbm/standard_gdbm_spec.rb +7 -0
  163. data/spec/moneta/adapters/gdbm/standard_gdbm_with_expires_spec.rb +11 -0
  164. data/spec/moneta/adapters/hashfile/standard_hashfile_spec.rb +7 -0
  165. data/spec/moneta/adapters/hashfile/standard_hashfile_with_expires_spec.rb +12 -0
  166. data/spec/moneta/adapters/hbase/adapter_hbase_spec.rb +7 -0
  167. data/spec/moneta/adapters/hbase/standard_hbase_spec.rb +4 -0
  168. data/spec/moneta/adapters/hbase/standard_hbase_with_expires_spec.rb +8 -0
  169. data/spec/moneta/adapters/kyotocabinet/adapter_kyotocabinet_spec.rb +7 -0
  170. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_spec.rb +7 -0
  171. data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_with_expires_spec.rb +14 -0
  172. data/spec/moneta/adapters/leveldb/adapter_leveldb_spec.rb +7 -0
  173. data/spec/moneta/adapters/leveldb/standard_leveldb_spec.rb +7 -0
  174. data/spec/moneta/adapters/leveldb/standard_leveldb_with_expires_spec.rb +11 -0
  175. data/spec/moneta/adapters/lmdb/adapter_lmdb_spec.rb +7 -0
  176. data/spec/moneta/adapters/lmdb/adapter_lmdb_with_db_spec.rb +7 -0
  177. data/spec/moneta/adapters/lmdb/standard_lmdb_spec.rb +7 -0
  178. data/spec/moneta/adapters/lmdb/standard_lmdb_with_expires_spec.rb +11 -0
  179. data/spec/moneta/adapters/localmemcache/adapter_localmemcache_spec.rb +7 -0
  180. data/spec/moneta/adapters/localmemcache/standard_localmemcache_spec.rb +7 -0
  181. data/spec/moneta/adapters/localmemcache/standard_localmemcache_with_expires_spec.rb +11 -0
  182. data/spec/moneta/{adapter_lruhash_spec.rb → adapters/lruhash/adapter_lruhash_spec.rb} +15 -33
  183. data/spec/moneta/adapters/lruhash/standard_lruhash_spec.rb +4 -0
  184. data/spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb +8 -0
  185. data/spec/moneta/adapters/memcached/adapter_memcached_spec.rb +13 -0
  186. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +25 -0
  187. data/spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb +11 -0
  188. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +25 -0
  189. data/spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb +11 -0
  190. data/spec/moneta/adapters/memcached/standard_memcached_spec.rb +17 -0
  191. data/spec/moneta/adapters/memcached_helper.rb +20 -0
  192. data/spec/moneta/adapters/memory/adapter_memory_spec.rb +7 -0
  193. data/spec/moneta/adapters/memory/standard_memory_spec.rb +4 -0
  194. data/spec/moneta/adapters/memory/standard_memory_with_compress_spec.rb +9 -0
  195. data/spec/moneta/adapters/memory/standard_memory_with_expires_spec.rb +8 -0
  196. data/spec/moneta/adapters/memory/standard_memory_with_json_key_serializer_spec.rb +4 -0
  197. data/spec/moneta/adapters/memory/standard_memory_with_json_serializer_spec.rb +9 -0
  198. data/spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb +9 -0
  199. data/spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb +41 -0
  200. data/spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb +9 -0
  201. data/spec/moneta/adapters/mongo/adapter_mongo_spec.rb +41 -0
  202. data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +14 -0
  203. data/spec/moneta/adapters/mongo/standard_mongo_spec.rb +7 -0
  204. data/spec/moneta/adapters/null/null_adapter_spec.rb +7 -0
  205. data/spec/moneta/adapters/null/standard_null_spec.rb +4 -0
  206. data/spec/moneta/adapters/pstore/adapter_pstore_spec.rb +7 -0
  207. data/spec/moneta/adapters/pstore/standard_pstore_spec.rb +9 -0
  208. data/spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb +13 -0
  209. data/spec/moneta/adapters/redis/adapter_redis_spec.rb +20 -0
  210. data/spec/moneta/adapters/redis/standard_redis_spec.rb +14 -0
  211. data/spec/moneta/adapters/restclient/adapter_restclient_spec.rb +13 -0
  212. data/spec/moneta/adapters/restclient/helper.rb +12 -0
  213. data/spec/moneta/adapters/restclient/standard_restclient_spec.rb +13 -0
  214. data/spec/moneta/adapters/riak/adapter_riak_spec.rb +14 -0
  215. data/spec/moneta/adapters/riak/standard_riak_spec.rb +10 -0
  216. data/spec/moneta/adapters/riak/standard_riak_with_expires_spec.rb +14 -0
  217. data/spec/moneta/adapters/sdbm/adapter_sdbm_spec.rb +7 -0
  218. data/spec/moneta/adapters/sdbm/standard_sdbm_spec.rb +7 -0
  219. data/spec/moneta/adapters/sdbm/standard_sdbm_with_expires_spec.rb +11 -0
  220. data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +133 -0
  221. data/spec/moneta/adapters/sequel/helper.rb +80 -0
  222. data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +8 -0
  223. data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +18 -0
  224. data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +7 -0
  225. data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +7 -0
  226. data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +15 -0
  227. data/spec/moneta/adapters/tdb/adapter_tdb_spec.rb +7 -0
  228. data/spec/moneta/adapters/tdb/standard_tdb_spec.rb +7 -0
  229. data/spec/moneta/adapters/tdb/standard_tdb_with_expires_spec.rb +11 -0
  230. data/spec/moneta/adapters/tokyocabinet/adapter_tokyocabinet_bdb_spec.rb +7 -0
  231. data/spec/moneta/adapters/tokyocabinet/adapter_tokyocabinet_hdb_spec.rb +7 -0
  232. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_spec.rb +7 -0
  233. data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_with_expires_spec.rb +11 -0
  234. data/spec/moneta/adapters/tokyotyrant/adapter_tokyotyrant_spec.rb +11 -0
  235. data/spec/moneta/adapters/tokyotyrant/helper.rb +12 -0
  236. data/spec/moneta/adapters/tokyotyrant/standard_tokyotyrant_spec.rb +7 -0
  237. data/spec/moneta/adapters/tokyotyrant/standard_tokyotyrant_with_expires_spec.rb +12 -0
  238. data/spec/moneta/adapters/yaml/adapter_yaml_spec.rb +7 -0
  239. data/spec/moneta/adapters/yaml/standard_yaml_spec.rb +9 -0
  240. data/spec/moneta/adapters/yaml/standard_yaml_with_expires_spec.rb +13 -0
  241. data/spec/moneta/builder_spec.rb +22 -1
  242. data/spec/moneta/config_spec.rb +219 -0
  243. data/spec/moneta/mutex_spec.rb +6 -23
  244. data/spec/moneta/proxies/cache/cache_file_memory_spec.rb +24 -0
  245. data/spec/moneta/proxies/cache/cache_memory_null_spec.rb +12 -0
  246. data/spec/moneta/proxies/enumerable/enumerable_spec.rb +26 -0
  247. data/spec/moneta/proxies/expires/expires_file_spec.rb +28 -0
  248. data/spec/moneta/proxies/expires/expires_memory_spec.rb +15 -0
  249. data/spec/moneta/proxies/expires/expires_memory_with_default_expires_spec.rb +16 -0
  250. data/spec/moneta/proxies/fallback/fallback_spec.rb +42 -0
  251. data/spec/moneta/proxies/lock/lock_spec.rb +10 -0
  252. data/spec/moneta/{optionmerger_spec.rb → proxies/optionmerger/optionmerger_spec.rb} +2 -18
  253. data/spec/moneta/proxies/pool/pool_spec.rb +353 -0
  254. data/spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb +16 -0
  255. data/spec/moneta/proxies/shared/shared_tcp_spec.rb +59 -0
  256. data/spec/moneta/proxies/shared/shared_unix_spec.rb +58 -0
  257. data/spec/moneta/proxies/transformer/transformer_bencode_spec.rb +19 -0
  258. data/spec/moneta/proxies/transformer/transformer_bert_spec.rb +19 -0
  259. data/spec/moneta/proxies/transformer/transformer_bson_spec.rb +25 -0
  260. data/spec/moneta/proxies/transformer/transformer_bzip2_spec.rb +19 -0
  261. data/spec/moneta/proxies/transformer/transformer_json_spec.rb +19 -0
  262. data/spec/moneta/proxies/transformer/transformer_key_inspect_spec.rb +17 -0
  263. data/spec/moneta/proxies/transformer/transformer_key_marshal_spec.rb +17 -0
  264. data/spec/moneta/proxies/transformer/transformer_key_to_s_spec.rb +17 -0
  265. data/spec/moneta/proxies/transformer/transformer_key_yaml_spec.rb +17 -0
  266. data/spec/moneta/proxies/transformer/transformer_lz4_spec.rb +19 -0
  267. data/spec/moneta/proxies/transformer/transformer_lzma_spec.rb +19 -0
  268. data/spec/moneta/proxies/transformer/transformer_lzo_spec.rb +19 -0
  269. data/spec/moneta/proxies/transformer/transformer_marshal_base64_spec.rb +20 -0
  270. data/spec/moneta/proxies/transformer/transformer_marshal_city128_spec.rb +15 -0
  271. data/spec/moneta/proxies/transformer/transformer_marshal_city32_spec.rb +15 -0
  272. data/spec/moneta/proxies/transformer/transformer_marshal_city64_spec.rb +15 -0
  273. data/spec/moneta/proxies/transformer/transformer_marshal_escape_spec.rb +21 -0
  274. data/spec/moneta/proxies/transformer/transformer_marshal_hex_spec.rb +20 -0
  275. data/spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb +19 -0
  276. data/spec/moneta/proxies/transformer/transformer_marshal_md5_spec.rb +15 -0
  277. data/spec/moneta/proxies/transformer/transformer_marshal_md5_spread_spec.rb +15 -0
  278. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb +33 -0
  279. data/spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb +15 -0
  280. data/spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb +20 -0
  281. data/spec/moneta/proxies/transformer/transformer_marshal_rmd160_spec.rb +15 -0
  282. data/spec/moneta/proxies/transformer/transformer_marshal_sha1_spec.rb +15 -0
  283. data/spec/moneta/proxies/transformer/transformer_marshal_sha256_spec.rb +15 -0
  284. data/spec/moneta/proxies/transformer/transformer_marshal_sha384_spec.rb +15 -0
  285. data/spec/moneta/proxies/transformer/transformer_marshal_sha512_spec.rb +15 -0
  286. data/spec/moneta/proxies/transformer/transformer_marshal_spec.rb +19 -0
  287. data/spec/moneta/proxies/transformer/transformer_marshal_truncate_spec.rb +15 -0
  288. data/spec/moneta/proxies/transformer/transformer_marshal_urlsafe_base64_spec.rb +20 -0
  289. data/spec/moneta/proxies/transformer/transformer_marshal_uuencode_spec.rb +19 -0
  290. data/spec/moneta/proxies/transformer/transformer_msgpack_spec.rb +19 -0
  291. data/spec/moneta/proxies/transformer/transformer_ox_spec.rb +19 -0
  292. data/spec/moneta/proxies/transformer/transformer_php_spec.rb +19 -0
  293. data/spec/moneta/proxies/transformer/transformer_quicklz_spec.rb +19 -0
  294. data/spec/moneta/proxies/transformer/transformer_snappy_spec.rb +19 -0
  295. data/spec/moneta/proxies/transformer/transformer_tnet_spec.rb +19 -0
  296. data/spec/moneta/proxies/transformer/transformer_value_marshal_spec.rb +19 -0
  297. data/spec/moneta/proxies/transformer/transformer_value_yaml_spec.rb +19 -0
  298. data/spec/moneta/proxies/transformer/transformer_yaml_spec.rb +19 -0
  299. data/spec/moneta/proxies/transformer/transformer_zlib_spec.rb +19 -0
  300. data/spec/moneta/proxies/weak_create/weak_create_spec.rb +21 -0
  301. data/spec/moneta/proxies/weak_each_key/weak_each_key_spec.rb +22 -0
  302. data/spec/moneta/proxies/weak_increment/weak_increment_spec.rb +21 -0
  303. data/spec/moneta/semaphore_spec.rb +6 -23
  304. data/spec/moneta/stack_file_memory_spec.rb +5 -29
  305. data/spec/moneta/stack_memory_file_spec.rb +5 -31
  306. data/spec/rack/session_moneta_spec.rb +44 -25
  307. data/spec/restserver.rb +44 -0
  308. data/{spec → test}/action_dispatch/fixtures/session_autoload_test/foo.rb +0 -0
  309. data/{spec/action_dispatch/session_moneta_store_spec.rb → test/action_dispatch/session_moneta_store_test.rb} +13 -5
  310. metadata +545 -369
  311. data/.travis.yml +0 -55
  312. data/lib/moneta/adapters/mongo/base.rb +0 -78
  313. data/lib/moneta/adapters/mongo/moped.rb +0 -107
  314. data/lib/moneta/adapters/mongo/official.rb +0 -117
  315. data/lib/moneta/mixins.rb +0 -343
  316. data/script/generate-specs +0 -2696
  317. data/script/install-kyotocabinet +0 -17
  318. data/spec/moneta/adapter_activerecord_exisiting_connection_spec.rb +0 -36
  319. data/spec/moneta/adapter_activerecord_spec.rb +0 -65
  320. data/spec/moneta/adapter_cassandra_spec.rb +0 -33
  321. data/spec/moneta/adapter_cassandra_with_default_expires_spec.rb +0 -34
  322. data/spec/moneta/adapter_client_spec.rb +0 -35
  323. data/spec/moneta/adapter_cookie_spec.rb +0 -30
  324. data/spec/moneta/adapter_couch_spec.rb +0 -36
  325. data/spec/moneta/adapter_datamapper_spec.rb +0 -64
  326. data/spec/moneta/adapter_daybreak_spec.rb +0 -31
  327. data/spec/moneta/adapter_dbm_spec.rb +0 -31
  328. data/spec/moneta/adapter_file_spec.rb +0 -34
  329. data/spec/moneta/adapter_fog_spec.rb +0 -37
  330. data/spec/moneta/adapter_gdbm_spec.rb +0 -31
  331. data/spec/moneta/adapter_hbase_spec.rb +0 -33
  332. data/spec/moneta/adapter_kyotocabinet_spec.rb +0 -31
  333. data/spec/moneta/adapter_leveldb_spec.rb +0 -31
  334. data/spec/moneta/adapter_lmdb_spec.rb +0 -32
  335. data/spec/moneta/adapter_lmdb_with_db_spec.rb +0 -32
  336. data/spec/moneta/adapter_localmemcache_spec.rb +0 -32
  337. data/spec/moneta/adapter_memcached_dalli_spec.rb +0 -36
  338. data/spec/moneta/adapter_memcached_dalli_with_default_expires_spec.rb +0 -37
  339. data/spec/moneta/adapter_memcached_native_spec.rb +0 -36
  340. data/spec/moneta/adapter_memcached_native_with_default_expires_spec.rb +0 -37
  341. data/spec/moneta/adapter_memcached_spec.rb +0 -36
  342. data/spec/moneta/adapter_memcached_with_default_expires_spec.rb +0 -37
  343. data/spec/moneta/adapter_memory_spec.rb +0 -184
  344. data/spec/moneta/adapter_mongo_moped_spec.rb +0 -64
  345. data/spec/moneta/adapter_mongo_moped_with_default_expires_spec.rb +0 -53
  346. data/spec/moneta/adapter_mongo_official_spec.rb +0 -64
  347. data/spec/moneta/adapter_mongo_official_with_default_expires_spec.rb +0 -53
  348. data/spec/moneta/adapter_mongo_spec.rb +0 -51
  349. data/spec/moneta/adapter_mongo_with_default_expires_spec.rb +0 -53
  350. data/spec/moneta/adapter_pstore_spec.rb +0 -250
  351. data/spec/moneta/adapter_redis_spec.rb +0 -36
  352. data/spec/moneta/adapter_redis_with_default_expires_spec.rb +0 -37
  353. data/spec/moneta/adapter_restclient_spec.rb +0 -33
  354. data/spec/moneta/adapter_riak_spec.rb +0 -36
  355. data/spec/moneta/adapter_sdbm_spec.rb +0 -30
  356. data/spec/moneta/adapter_sequel_spec.rb +0 -34
  357. data/spec/moneta/adapter_sqlite_spec.rb +0 -32
  358. data/spec/moneta/adapter_tdb_spec.rb +0 -31
  359. data/spec/moneta/adapter_tokyocabinet_bdb_spec.rb +0 -31
  360. data/spec/moneta/adapter_tokyocabinet_hdb_spec.rb +0 -31
  361. data/spec/moneta/adapter_tokyotyrant_spec.rb +0 -34
  362. data/spec/moneta/adapter_yaml_spec.rb +0 -57
  363. data/spec/moneta/cache_file_memory_spec.rb +0 -50
  364. data/spec/moneta/cache_memory_null_spec.rb +0 -35
  365. data/spec/moneta/expires_file_spec.rb +0 -78
  366. data/spec/moneta/expires_memory_spec.rb +0 -189
  367. data/spec/moneta/expires_memory_with_default_expires_spec.rb +0 -190
  368. data/spec/moneta/lock_spec.rb +0 -187
  369. data/spec/moneta/null_adapter_spec.rb +0 -86
  370. data/spec/moneta/pool_spec.rb +0 -38
  371. data/spec/moneta/proxy_expires_memory_spec.rb +0 -191
  372. data/spec/moneta/proxy_redis_spec.rb +0 -40
  373. data/spec/moneta/shared_tcp_spec.rb +0 -46
  374. data/spec/moneta/shared_unix_spec.rb +0 -46
  375. data/spec/moneta/standard_activerecord_spec.rb +0 -253
  376. data/spec/moneta/standard_activerecord_with_expires_spec.rb +0 -255
  377. data/spec/moneta/standard_cassandra_spec.rb +0 -252
  378. data/spec/moneta/standard_client_tcp_spec.rb +0 -269
  379. data/spec/moneta/standard_client_unix_spec.rb +0 -254
  380. data/spec/moneta/standard_couch_spec.rb +0 -252
  381. data/spec/moneta/standard_couch_with_expires_spec.rb +0 -254
  382. data/spec/moneta/standard_datamapper_spec.rb +0 -254
  383. data/spec/moneta/standard_datamapper_with_expires_spec.rb +0 -256
  384. data/spec/moneta/standard_datamapper_with_repository_spec.rb +0 -254
  385. data/spec/moneta/standard_daybreak_spec.rb +0 -250
  386. data/spec/moneta/standard_daybreak_with_expires_spec.rb +0 -252
  387. data/spec/moneta/standard_dbm_spec.rb +0 -250
  388. data/spec/moneta/standard_dbm_with_expires_spec.rb +0 -252
  389. data/spec/moneta/standard_file_spec.rb +0 -253
  390. data/spec/moneta/standard_file_with_expires_spec.rb +0 -255
  391. data/spec/moneta/standard_fog_spec.rb +0 -256
  392. data/spec/moneta/standard_fog_with_expires_spec.rb +0 -258
  393. data/spec/moneta/standard_gdbm_spec.rb +0 -250
  394. data/spec/moneta/standard_gdbm_with_expires_spec.rb +0 -252
  395. data/spec/moneta/standard_hashfile_spec.rb +0 -253
  396. data/spec/moneta/standard_hashfile_with_expires_spec.rb +0 -255
  397. data/spec/moneta/standard_hbase_spec.rb +0 -252
  398. data/spec/moneta/standard_hbase_with_expires_spec.rb +0 -255
  399. data/spec/moneta/standard_kyotocabinet_spec.rb +0 -250
  400. data/spec/moneta/standard_kyotocabinet_with_expires_spec.rb +0 -252
  401. data/spec/moneta/standard_leveldb_spec.rb +0 -250
  402. data/spec/moneta/standard_leveldb_with_expires_spec.rb +0 -252
  403. data/spec/moneta/standard_lmdb_spec.rb +0 -251
  404. data/spec/moneta/standard_lmdb_with_expires_spec.rb +0 -253
  405. data/spec/moneta/standard_localmemcache_spec.rb +0 -251
  406. data/spec/moneta/standard_localmemcache_with_expires_spec.rb +0 -252
  407. data/spec/moneta/standard_lruhash_spec.rb +0 -187
  408. data/spec/moneta/standard_lruhash_with_expires_spec.rb +0 -189
  409. data/spec/moneta/standard_memcached_dalli_spec.rb +0 -255
  410. data/spec/moneta/standard_memcached_native_spec.rb +0 -255
  411. data/spec/moneta/standard_memcached_spec.rb +0 -255
  412. data/spec/moneta/standard_memory_spec.rb +0 -187
  413. data/spec/moneta/standard_memory_with_compress_spec.rb +0 -187
  414. data/spec/moneta/standard_memory_with_expires_spec.rb +0 -189
  415. data/spec/moneta/standard_memory_with_json_key_serializer_spec.rb +0 -86
  416. data/spec/moneta/standard_memory_with_json_serializer_spec.rb +0 -49
  417. data/spec/moneta/standard_memory_with_json_value_serializer_spec.rb +0 -90
  418. data/spec/moneta/standard_memory_with_prefix_spec.rb +0 -187
  419. data/spec/moneta/standard_memory_with_snappy_compress_spec.rb +0 -187
  420. data/spec/moneta/standard_mongo_moped_spec.rb +0 -255
  421. data/spec/moneta/standard_mongo_official_spec.rb +0 -255
  422. data/spec/moneta/standard_mongo_spec.rb +0 -255
  423. data/spec/moneta/standard_null_spec.rb +0 -120
  424. data/spec/moneta/standard_pstore_spec.rb +0 -253
  425. data/spec/moneta/standard_pstore_with_expires_spec.rb +0 -255
  426. data/spec/moneta/standard_redis_spec.rb +0 -255
  427. data/spec/moneta/standard_restclient_spec.rb +0 -252
  428. data/spec/moneta/standard_riak_spec.rb +0 -255
  429. data/spec/moneta/standard_riak_with_expires_spec.rb +0 -256
  430. data/spec/moneta/standard_sdbm_spec.rb +0 -249
  431. data/spec/moneta/standard_sdbm_with_expires_spec.rb +0 -251
  432. data/spec/moneta/standard_sequel_spec.rb +0 -253
  433. data/spec/moneta/standard_sequel_with_expires_spec.rb +0 -255
  434. data/spec/moneta/standard_sqlite_spec.rb +0 -251
  435. data/spec/moneta/standard_sqlite_with_expires_spec.rb +0 -253
  436. data/spec/moneta/standard_tdb_spec.rb +0 -250
  437. data/spec/moneta/standard_tdb_with_expires_spec.rb +0 -252
  438. data/spec/moneta/standard_tokyocabinet_spec.rb +0 -250
  439. data/spec/moneta/standard_tokyocabinet_with_expires_spec.rb +0 -252
  440. data/spec/moneta/standard_tokyotyrant_spec.rb +0 -253
  441. data/spec/moneta/standard_tokyotyrant_with_expires_spec.rb +0 -255
  442. data/spec/moneta/standard_yaml_spec.rb +0 -250
  443. data/spec/moneta/standard_yaml_with_expires_spec.rb +0 -252
  444. data/spec/moneta/transformer_bencode_spec.rb +0 -55
  445. data/spec/moneta/transformer_bert_spec.rb +0 -55
  446. data/spec/moneta/transformer_bson_spec.rb +0 -60
  447. data/spec/moneta/transformer_bzip2_spec.rb +0 -55
  448. data/spec/moneta/transformer_json_spec.rb +0 -55
  449. data/spec/moneta/transformer_key_inspect_spec.rb +0 -91
  450. data/spec/moneta/transformer_key_marshal_spec.rb +0 -191
  451. data/spec/moneta/transformer_key_to_s_spec.rb +0 -91
  452. data/spec/moneta/transformer_key_yaml_spec.rb +0 -191
  453. data/spec/moneta/transformer_lz4_spec.rb +0 -55
  454. data/spec/moneta/transformer_lzma_spec.rb +0 -55
  455. data/spec/moneta/transformer_lzo_spec.rb +0 -55
  456. data/spec/moneta/transformer_marshal_base64_spec.rb +0 -194
  457. data/spec/moneta/transformer_marshal_city128_spec.rb +0 -194
  458. data/spec/moneta/transformer_marshal_city32_spec.rb +0 -194
  459. data/spec/moneta/transformer_marshal_city64_spec.rb +0 -194
  460. data/spec/moneta/transformer_marshal_escape_spec.rb +0 -194
  461. data/spec/moneta/transformer_marshal_hex_spec.rb +0 -194
  462. data/spec/moneta/transformer_marshal_hmac_spec.rb +0 -194
  463. data/spec/moneta/transformer_marshal_md5_spec.rb +0 -194
  464. data/spec/moneta/transformer_marshal_md5_spread_spec.rb +0 -194
  465. data/spec/moneta/transformer_marshal_prefix_spec.rb +0 -194
  466. data/spec/moneta/transformer_marshal_qp_spec.rb +0 -194
  467. data/spec/moneta/transformer_marshal_rmd160_spec.rb +0 -194
  468. data/spec/moneta/transformer_marshal_sha1_spec.rb +0 -194
  469. data/spec/moneta/transformer_marshal_sha256_spec.rb +0 -194
  470. data/spec/moneta/transformer_marshal_sha384_spec.rb +0 -194
  471. data/spec/moneta/transformer_marshal_sha512_spec.rb +0 -194
  472. data/spec/moneta/transformer_marshal_spec.rb +0 -191
  473. data/spec/moneta/transformer_marshal_truncate_spec.rb +0 -194
  474. data/spec/moneta/transformer_marshal_uuencode_spec.rb +0 -194
  475. data/spec/moneta/transformer_msgpack_spec.rb +0 -55
  476. data/spec/moneta/transformer_ox_spec.rb +0 -191
  477. data/spec/moneta/transformer_php_spec.rb +0 -55
  478. data/spec/moneta/transformer_quicklz_spec.rb +0 -55
  479. data/spec/moneta/transformer_snappy_spec.rb +0 -55
  480. data/spec/moneta/transformer_tnet_spec.rb +0 -55
  481. data/spec/moneta/transformer_value_marshal_spec.rb +0 -191
  482. data/spec/moneta/transformer_value_yaml_spec.rb +0 -191
  483. data/spec/moneta/transformer_yaml_spec.rb +0 -191
  484. data/spec/moneta/transformer_zlib_spec.rb +0 -55
  485. data/spec/moneta/weak_create_spec.rb +0 -41
  486. data/spec/moneta/weak_increment_spec.rb +0 -41
  487. data/spec/monetaspecs.rb +0 -51267
  488. data/spec/quality_spec.rb +0 -51
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0e375eca1c232dfe6bf7732660b158162bd5b887
4
- data.tar.gz: 30219ec6a3496650ea09927d1d6140d377f48730
2
+ SHA256:
3
+ metadata.gz: 057afad07820c6a0099c1c8f0d08e8a8db0d8f163ae699a6c492b5114e7690da
4
+ data.tar.gz: 277352fb763982da85855f170234cf6a2660afeb3b90f6bf34df6dccda586291
5
5
  SHA512:
6
- metadata.gz: 39edafb80920ff47c04b215fd74d77f9e49363588bdf988649637d24219e1e164b8887c46289be4455a0fbaf5315fe5b768fd0b56f5a594594ba44f28ff1ece9
7
- data.tar.gz: ba16585476906490eaa5df9be59c24cd5d49cd82eacdc9b6960f59456bc461a603334abce9c70894e9de12af1f55b13d16710137171a47a4588670e72bf0f4f7
6
+ metadata.gz: 0266a4e3016c53408a92a5929152f088ff26c0981561e279e0812726a085e65a6ea90305d362ca04383ee0225915bd470f687c97d9eeafeff960ca21de716616
7
+ data.tar.gz: 95f6df87a40afeeff7d0c490c88f9c9950a12949358df57da9014cff3ffba1e7893ca43cdfb1d90c20750050d6bc0617e76655a025bff58caa1c89567256a894
@@ -0,0 +1,425 @@
1
+ name: Ruby CI
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ adapters:
11
+ runs-on: ubuntu-latest
12
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
13
+
14
+ strategy:
15
+ fail-fast: false
16
+
17
+ matrix:
18
+ ruby-version: ['3.0', '2.7', '2.6', '2.5', '2.4', jruby]
19
+ adapter:
20
+ - Client
21
+ - Cookie
22
+ - Daybreak
23
+ #- dbm
24
+ - File
25
+ - Fog
26
+ - GDBM
27
+ - HashFile
28
+ #- HBase
29
+ - KyotoCabinet
30
+ - LevelDB
31
+ - LMDB
32
+ - LocalMemCache
33
+ - LRUHash
34
+ - Memory
35
+ - 'Null'
36
+ - PStore
37
+ - RestClient
38
+ #- riak
39
+ - SDBM
40
+ - TDB
41
+ - TokyoCabinet
42
+ - TokyoTyrant
43
+ - YAML
44
+
45
+ env:
46
+ BUNDLE_WITH: ${{ matrix.adapter }} snappy
47
+
48
+ steps:
49
+ - uses: actions/checkout@v2
50
+
51
+ - name: Apt update
52
+ run: sudo apt-get update
53
+
54
+ - name: Apt install dependencies
55
+ run: sudo apt-get install -y libkyotocabinet-dev libleveldb-dev libtdb-dev libtokyocabinet-dev tokyotyrant libgdbm-dev
56
+
57
+ - name: Set up Ruby ${{ matrix.ruby-version }}
58
+ uses: ruby/setup-ruby@v1
59
+ with:
60
+ ruby-version: ${{ matrix.ruby-version }}
61
+ bundler: latest
62
+ bundler-cache: true
63
+
64
+ - name: Rspec
65
+ run: bundle exec rspec -t ~unstable -t adapter:${{ matrix.adapter }} -- spec/moneta
66
+
67
+ couch:
68
+ name: "Couch adapter"
69
+ runs-on: ubuntu-latest
70
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
71
+
72
+ services:
73
+ couch:
74
+ image: couchdb
75
+ env:
76
+ COUCHDB_USER: admin
77
+ COUCHDB_PASSWORD: password
78
+ options: >-
79
+ --health-cmd "curl -s http://127.0.0.1:5984/"
80
+ --health-interval 10s
81
+ --health-timeout 5s
82
+ --health-retries 5
83
+ ports:
84
+ - 5984:5984
85
+
86
+ strategy:
87
+ matrix:
88
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
89
+
90
+ env:
91
+ BUNDLE_WITH: RestClient
92
+
93
+ steps:
94
+ - uses: actions/checkout@v2
95
+
96
+ - name: Set up Ruby ${{ matrix.ruby-version }}
97
+ uses: ruby/setup-ruby@v1
98
+ with:
99
+ ruby-version: ${{ matrix.ruby-version }}
100
+ bundler: latest
101
+ bundler-cache: true
102
+
103
+ - name: Rspec
104
+ run: bundle exec rspec -t adapter:Couch -- spec/moneta
105
+
106
+ cassandra:
107
+ name: "Cassandra adapter"
108
+ runs-on: ubuntu-latest
109
+
110
+ services:
111
+ cassandra:
112
+ image: cassandra
113
+ options: >-
114
+ --health-cmd "cqlsh -e \"SELECT cql_version FROM system.local\""
115
+ --health-interval 10s
116
+ --health-timeout 10s
117
+ --health-retries 10
118
+ ports:
119
+ - 9042:9042
120
+
121
+ strategy:
122
+ matrix:
123
+ ruby-version: ['2.7', '2.4', jruby]
124
+
125
+ env:
126
+ BUNDLE_WITH: Cassandra
127
+
128
+ steps:
129
+ - uses: actions/checkout@v2
130
+
131
+ - name: Set up Ruby ${{ matrix.ruby-version }}
132
+ uses: ruby/setup-ruby@v1
133
+ with:
134
+ ruby-version: ${{ matrix.ruby-version }}
135
+ bundler: latest
136
+ bundler-cache: true
137
+
138
+ - name: Rspec
139
+ run: bundle exec rspec -t adapter:Cassandra -- spec/moneta
140
+
141
+ mysql-adapters:
142
+ name: "MySQL adapters"
143
+ runs-on: ubuntu-latest
144
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
145
+
146
+ services:
147
+ mysql:
148
+ image: mysql
149
+ env:
150
+ MYSQL_ROOT_PASSWORD: moneta
151
+ options: >-
152
+ --health-cmd "mysqladmin ping -h 127.0.0.1 --silent"
153
+ --health-interval 10s
154
+ --health-timeout 5s
155
+ --health-retries 5
156
+ ports:
157
+ - 3306:3306
158
+
159
+ strategy:
160
+ matrix:
161
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
162
+
163
+ env:
164
+ BUNDLE_WITH: ActiveRecord Sequel DataMapper mysql
165
+ MYSQL_HOST: 127.0.0.1
166
+ MONETA_MYSQL_PASSWORD: moneta
167
+
168
+ steps:
169
+ - uses: actions/checkout@v2
170
+
171
+ - name: Apt update
172
+ run: sudo apt-get update
173
+
174
+ - name: Apt install mysql packages
175
+ run: sudo apt-get install -y libmysqlclient-dev
176
+
177
+ - name: Create Database moneta
178
+ run: mysqladmin -h 127.0.0.1 -u root create moneta
179
+ env:
180
+ MYSQL_PWD: moneta
181
+
182
+ - name: Create Database moneta2
183
+ run: mysqladmin -h 127.0.0.1 -u root create moneta2
184
+ env:
185
+ MYSQL_PWD: moneta
186
+
187
+ - name: Set up Ruby ${{ matrix.ruby-version }}
188
+ uses: ruby/setup-ruby@v1
189
+ with:
190
+ ruby-version: ${{ matrix.ruby-version }}
191
+ bundler: latest
192
+ bundler-cache: true
193
+
194
+ - name: Rspec
195
+ run: bundle exec rspec -t mysql -- spec/moneta
196
+
197
+ postgres-adapters:
198
+ name: "Postgres adapters"
199
+ runs-on: ubuntu-latest
200
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
201
+
202
+ services:
203
+ postgres:
204
+ image: postgres:13.6
205
+ env:
206
+ POSTGRES_PASSWORD: moneta
207
+ options: >-
208
+ --health-cmd pg_isready
209
+ --health-interval 10s
210
+ --health-timeout 5s
211
+ --health-retries 5
212
+ ports:
213
+ - 5432:5432
214
+
215
+ strategy:
216
+ matrix:
217
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
218
+
219
+ env:
220
+ BUNDLE_WITH: ActiveRecord Sequel DataMapper postgresql
221
+ PGHOST: localhost
222
+ PGUSER: postgres
223
+ PGPASSWORD: moneta
224
+
225
+ steps:
226
+ - uses: actions/checkout@v2
227
+
228
+ - name: Create Database moneta1
229
+ run: createdb moneta1
230
+
231
+ - name: Create Database moneta2
232
+ run: createdb moneta2
233
+
234
+ - name: Add hstore support to moneta1
235
+ run: psql -c 'create extension hstore;' moneta1
236
+
237
+ - name: Set up Ruby ${{ matrix.ruby-version }}
238
+ uses: ruby/setup-ruby@v1
239
+ with:
240
+ ruby-version: ${{ matrix.ruby-version }}
241
+ bundler: latest
242
+ bundler-cache: true
243
+
244
+ - name: Rspec
245
+ run: bundle exec rspec -t postgres -- spec/moneta
246
+
247
+ sqlite-adapters:
248
+ name: "SQLite adapters"
249
+ runs-on: ubuntu-latest
250
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
251
+
252
+ strategy:
253
+ matrix:
254
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
255
+
256
+ env:
257
+ BUNDLE_WITH: ActiveRecord Sequel DataMapper sqlite
258
+
259
+ steps:
260
+ - uses: actions/checkout@v2
261
+
262
+ - name: Set up Ruby ${{ matrix.ruby-version }}
263
+ uses: ruby/setup-ruby@v1
264
+ with:
265
+ ruby-version: ${{ matrix.ruby-version }}
266
+ bundler: latest
267
+ bundler-cache: true
268
+
269
+ - name: Rspec
270
+ run: bundle exec rspec -t sqlite -- spec/moneta
271
+
272
+ redis:
273
+ name: "Redis adapters"
274
+ runs-on: ubuntu-latest
275
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
276
+
277
+ services:
278
+ redis:
279
+ image: redis
280
+ options: >-
281
+ --health-cmd "redis-cli ping"
282
+ --health-interval 10s
283
+ --health-timeout 5s
284
+ --health-retries 5
285
+ ports:
286
+ - 6379:6379
287
+
288
+ strategy:
289
+ matrix:
290
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
291
+
292
+ env:
293
+ BUNDLE_WITH: Redis
294
+
295
+ steps:
296
+ - uses: actions/checkout@v2
297
+
298
+ - name: Set up Ruby ${{ matrix.ruby-version }}
299
+ uses: ruby/setup-ruby@v1
300
+ with:
301
+ ruby-version: ${{ matrix.ruby-version }}
302
+ bundler: latest
303
+ bundler-cache: true
304
+
305
+ - name: Rspec
306
+ run: bundle exec rspec -t adapter:Redis -t redis -- spec/moneta
307
+
308
+ memcached:
309
+ name: "Memcached adapters"
310
+ runs-on: ubuntu-latest
311
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
312
+
313
+ strategy:
314
+ matrix:
315
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
316
+
317
+ env:
318
+ BUNDLE_WITH: Memcached
319
+
320
+ steps:
321
+ - uses: actions/checkout@v2
322
+
323
+ - name: Apt update
324
+ run: sudo apt-get update
325
+
326
+ - name: Apt install memcached
327
+ run: sudo apt-get install -y memcached libsasl2-dev
328
+
329
+ - name: Set up Ruby ${{ matrix.ruby-version }}
330
+ uses: ruby/setup-ruby@v1
331
+ with:
332
+ ruby-version: ${{ matrix.ruby-version }}
333
+ bundler: latest
334
+ bundler-cache: true
335
+
336
+ - name: Rspec
337
+ run: bundle exec rspec -t ~unstable -t adapter:Memcached -t memcached -- spec/moneta
338
+
339
+ mongo:
340
+ name: "Mongo adapter"
341
+ runs-on: ubuntu-latest
342
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
343
+
344
+ services:
345
+ mongo:
346
+ image: mongo
347
+ options: >-
348
+ --health-cmd "mongo --eval db"
349
+ --health-interval 10s
350
+ --health-timeout 5s
351
+ --health-retries 5
352
+ ports:
353
+ - 27017:27017
354
+
355
+ strategy:
356
+ matrix:
357
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
358
+
359
+ env:
360
+ BUNDLE_WITH: Mongo
361
+
362
+ steps:
363
+ - uses: actions/checkout@v2
364
+
365
+ - name: Set up Ruby ${{ matrix.ruby-version }}
366
+ uses: ruby/setup-ruby@v1
367
+ with:
368
+ ruby-version: ${{ matrix.ruby-version }}
369
+ bundler: latest
370
+ bundler-cache: true
371
+
372
+ - name: Rspec
373
+ run: bundle exec rspec -t adapter:Mongo -- spec/moneta
374
+
375
+ residual-specs:
376
+ name: "Proxies and other specs"
377
+ runs-on: ubuntu-latest
378
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
379
+
380
+ strategy:
381
+ matrix:
382
+ ruby-version: ['3.0', '2.7', '2.4', jruby]
383
+
384
+ env:
385
+ BUNDLE_WITH: transformers GDBM Fog
386
+
387
+ steps:
388
+ - uses: actions/checkout@v2
389
+
390
+ - name: Apt update
391
+ run: sudo apt-get update
392
+
393
+ - name: Apt install dependencies
394
+ run: sudo apt-get install -y libgdbm-dev liblzo2-dev
395
+
396
+ - name: Set up Ruby ${{ matrix.ruby-version }}
397
+ uses: ruby/setup-ruby@v1
398
+ with:
399
+ ruby-version: ${{ matrix.ruby-version }}
400
+ bundler: latest
401
+ bundler-cache: true
402
+
403
+ - name: Rspec
404
+ run: bundle exec rspec -t ~unstable --exclude-pattern "./spec/{moneta/adapters/**/*,active_support/**/*}"
405
+
406
+ - name: Minitest
407
+ run: bundle exec ruby test/action_dispatch/session_moneta_store_test.rb
408
+
409
+ rubocop:
410
+ name: "Rubocop"
411
+ runs-on: ubuntu-latest
412
+ continue-on-error: ${{ matrix.ruby-version == '3.0' }}
413
+
414
+ steps:
415
+ - uses: actions/checkout@v2
416
+
417
+ - name: Set up Ruby
418
+ uses: ruby/setup-ruby@v1
419
+ with:
420
+ ruby-version: '3.0'
421
+ bundler: latest
422
+ bundler-cache: true
423
+
424
+ - name: Rubocop
425
+ run: bundle exec rubocop lib
data/.gitignore CHANGED
@@ -10,3 +10,6 @@ script/benchmarks.tmp
10
10
  Gemfile.lock
11
11
  logs
12
12
  secure
13
+ .bundle
14
+ .ruby-version
15
+ .byebug_history
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --color
2
+ --require helper
3
+ --tag ~unsupported
4
+ --tag ~broken
data/.rubocop.yml ADDED
@@ -0,0 +1,194 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.3.0
3
+ UseCache: true
4
+ Exclude:
5
+ - hbase/**/*
6
+ - script/**/*
7
+ - vendor/**/*
8
+
9
+ Layout/ArrayAlignment:
10
+ Exclude:
11
+ - lib/moneta/transformer/config.rb
12
+
13
+ Layout/DotPosition:
14
+ EnforcedStyle: leading
15
+
16
+ Layout/EmptyLineAfterGuardClause:
17
+ Enabled: false
18
+
19
+ Layout/ExtraSpacing:
20
+ Exclude:
21
+ - lib/moneta.rb
22
+ - lib/moneta/transformer/config.rb
23
+
24
+ Layout/HashAlignment:
25
+ Exclude:
26
+ - lib/moneta/transformer/config.rb
27
+
28
+ Layout/LineLength:
29
+ Max: 160
30
+
31
+ Layout/MultilineMethodCallIndentation:
32
+ EnforcedStyle: indented
33
+
34
+ Layout/MultilineOperationIndentation:
35
+ EnforcedStyle: indented
36
+
37
+ Layout/SpaceInsideArrayLiteralBrackets:
38
+ Exclude:
39
+ - lib/moneta/transformer/config.rb
40
+
41
+ Lint/AssignmentInCondition:
42
+ Enabled: false
43
+
44
+ Lint/RaiseException:
45
+ Enabled: true
46
+
47
+ Lint/ShadowedException:
48
+ Enabled: false
49
+
50
+ Lint/ShadowingOuterLocalVariable:
51
+ Enabled: false
52
+
53
+ Lint/StructNewOverride:
54
+ Enabled: true
55
+
56
+ Lint/UnusedMethodArgument:
57
+ Enabled: false
58
+
59
+ Lint/Void:
60
+ Exclude:
61
+ - spec/**/*
62
+
63
+ Metrics/AbcSize:
64
+ Enabled: false
65
+
66
+ Metrics/BlockNesting:
67
+ Enabled: false
68
+
69
+ Metrics/ClassLength:
70
+ Enabled: false
71
+
72
+ Metrics/CyclomaticComplexity:
73
+ Enabled: false
74
+
75
+ Metrics/BlockLength:
76
+ Exclude:
77
+ - spec/**/*
78
+
79
+ Metrics/MethodLength:
80
+ Enabled: false
81
+
82
+ Metrics/ModuleLength:
83
+ Enabled: false
84
+
85
+ Metrics/ParameterLists:
86
+ Enabled: false
87
+
88
+ Metrics/PerceivedComplexity:
89
+ Enabled: false
90
+
91
+ Naming/ConstantName:
92
+ Exclude:
93
+ - lib/rack/cache/moneta.rb
94
+
95
+ Naming/RescuedExceptionsVariableName:
96
+ Enabled: false
97
+
98
+ Naming/MemoizedInstanceVariableName:
99
+ Enabled: false
100
+
101
+ Security/MarshalLoad:
102
+ Enabled: false
103
+
104
+ Style/AndOr:
105
+ Enabled: false
106
+
107
+ Style/CaseEquality:
108
+ Enabled: false
109
+
110
+ Style/CharacterLiteral:
111
+ Enabled: false
112
+
113
+ Style/DoubleNegation:
114
+ Enabled: false
115
+
116
+ Style/GlobalVars:
117
+ Exclude:
118
+ - spec/moneta/adapters/cassandra/helper.rb
119
+
120
+ Style/FrozenStringLiteralComment:
121
+ Enabled: false
122
+
123
+ Style/FormatString:
124
+ Enabled: false
125
+
126
+ Style/GuardClause:
127
+ Enabled: false
128
+
129
+ Style/HashEachMethods:
130
+ Enabled: true
131
+
132
+ Style/HashTransformKeys:
133
+ Enabled: true
134
+
135
+ Style/HashTransformValues:
136
+ Enabled: true
137
+
138
+ Style/IfUnlessModifier:
139
+ Enabled: false
140
+
141
+ Style/Lambda:
142
+ EnforcedStyle: lambda
143
+
144
+ Style/ModuleFunction:
145
+ Enabled: false
146
+
147
+ Style/MultilineIfModifier:
148
+ Enabled: false
149
+
150
+ Style/MutableConstant:
151
+ Exclude:
152
+ - lib/rack/cache/moneta.rb
153
+
154
+ Style/NilComparison:
155
+ EnforcedStyle: comparison
156
+
157
+ Style/NumericLiterals:
158
+ Enabled: false
159
+
160
+ Style/NumericPredicate:
161
+ EnforcedStyle: comparison
162
+
163
+ Style/NonNilCheck:
164
+ Enabled: false
165
+
166
+ Style/ParallelAssignment:
167
+ Enabled: false
168
+
169
+ Style/PercentLiteralDelimiters:
170
+ Enabled: false
171
+
172
+ Style/PreferredHashMethods:
173
+ Enabled: false
174
+
175
+ Style/RescueStandardError:
176
+ EnforcedStyle: implicit
177
+
178
+ Style/RescueModifier:
179
+ Enabled: false
180
+
181
+ Style/SafeNavigation:
182
+ Enabled: false
183
+
184
+ Style/StringLiterals:
185
+ Enabled: false
186
+
187
+ Style/SymbolArray:
188
+ Enabled: false
189
+
190
+ Style/SymbolProc:
191
+ Enabled: false
192
+
193
+ Style/YodaCondition:
194
+ Enabled: false
data/.yardopts CHANGED
@@ -1 +1,6 @@
1
- - README.md SPEC.md CHANGES LICENSE CONTRIBUTORS
1
+ -
2
+ README.md
3
+ SPEC.md
4
+ CHANGES
5
+ LICENSE
6
+ CONTRIBUTORS