moneta 1.2.0 → 1.4.2
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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +418 -0
- data/.gitignore +2 -0
- data/.rubocop.yml +27 -9
- data/CHANGES +28 -0
- data/CONTRIBUTORS +4 -2
- data/Gemfile +12 -8
- data/README.md +20 -18
- data/feature_matrix.yaml +2 -11
- data/lib/moneta.rb +9 -9
- data/lib/moneta/adapters/client.rb +56 -19
- data/lib/moneta/adapters/couch.rb +5 -0
- data/lib/moneta/adapters/mongo.rb +264 -7
- data/lib/moneta/adapters/redis.rb +5 -1
- data/lib/moneta/adapters/sequel.rb +45 -464
- data/lib/moneta/adapters/sequel/mysql.rb +66 -0
- data/lib/moneta/adapters/sequel/postgres.rb +80 -0
- data/lib/moneta/adapters/sequel/postgres_hstore.rb +240 -0
- data/lib/moneta/adapters/sequel/sqlite.rb +57 -0
- data/lib/moneta/adapters/sqlite.rb +7 -7
- data/lib/moneta/builder.rb +2 -2
- data/lib/moneta/create_support.rb +21 -0
- data/lib/moneta/dbm_adapter.rb +31 -0
- data/lib/moneta/{mixins.rb → defaults.rb} +1 -302
- data/lib/moneta/each_key_support.rb +27 -0
- data/lib/moneta/expires_support.rb +60 -0
- data/lib/moneta/hash_adapter.rb +68 -0
- data/lib/moneta/increment_support.rb +16 -0
- data/lib/moneta/lock.rb +6 -1
- data/lib/moneta/nil_values.rb +35 -0
- data/lib/moneta/option_support.rb +51 -0
- data/lib/moneta/pool.rb +38 -6
- data/lib/moneta/proxy.rb +1 -1
- data/lib/moneta/server.rb +215 -61
- data/lib/moneta/shared.rb +13 -7
- data/lib/moneta/transformer.rb +50 -8
- data/lib/moneta/transformer/config.rb +59 -40
- data/lib/moneta/transformer/helper.rb +2 -2
- data/lib/moneta/transformer/helper/bson.rb +5 -15
- data/lib/moneta/version.rb +1 -1
- data/lib/rack/cache/moneta.rb +14 -15
- data/moneta.gemspec +14 -8
- data/script/benchmarks +7 -3
- data/script/contributors +11 -6
- data/script/start-couchdb +27 -0
- data/script/start-hbase +2 -2
- data/script/start-services +3 -3
- data/spec/active_support/cache_moneta_store_spec.rb +37 -39
- data/spec/features/concurrent_increment.rb +2 -3
- data/spec/features/create_expires.rb +15 -15
- data/spec/features/default_expires.rb +11 -12
- data/spec/features/expires.rb +215 -210
- data/spec/features/store.rb +3 -3
- data/spec/helper.rb +33 -41
- data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +3 -1
- data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +15 -7
- data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +6 -3
- data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +6 -3
- data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +3 -3
- data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +2 -2
- data/spec/moneta/adapters/cassandra/standard_cassandra_spec.rb +1 -1
- data/spec/moneta/adapters/client/adapter_client_spec.rb +6 -6
- data/spec/moneta/adapters/client/client_helper.rb +24 -0
- data/spec/moneta/adapters/client/standard_client_tcp_spec.rb +8 -8
- data/spec/moneta/adapters/client/standard_client_unix_spec.rb +23 -7
- data/spec/moneta/adapters/couch/adapter_couch_spec.rb +1 -1
- data/spec/moneta/adapters/couch/standard_couch_spec.rb +2 -2
- data/spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +25 -8
- data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +2 -2
- data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +2 -2
- data/spec/moneta/adapters/daybreak/standard_daybreak_spec.rb +1 -1
- data/spec/moneta/adapters/daybreak/standard_daybreak_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/dbm/standard_dbm_spec.rb +1 -1
- data/spec/moneta/adapters/dbm/standard_dbm_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/file/standard_file_spec.rb +2 -2
- data/spec/moneta/adapters/file/standard_file_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/gdbm/standard_gdbm_spec.rb +1 -1
- data/spec/moneta/adapters/gdbm/standard_gdbm_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/kyotocabinet/adapter_kyotocabinet_spec.rb +1 -1
- data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_spec.rb +2 -2
- data/spec/moneta/adapters/kyotocabinet/standard_kyotocabinet_with_expires_spec.rb +2 -2
- data/spec/moneta/adapters/leveldb/standard_leveldb_spec.rb +1 -1
- data/spec/moneta/adapters/leveldb/standard_leveldb_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/lmdb/standard_lmdb_spec.rb +1 -1
- data/spec/moneta/adapters/lmdb/standard_lmdb_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/lruhash/standard_lruhash_spec.rb +1 -1
- data/spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +13 -3
- data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +13 -3
- data/spec/moneta/adapters/memory/standard_memory_spec.rb +1 -1
- data/spec/moneta/adapters/memory/standard_memory_with_compress_spec.rb +1 -1
- data/spec/moneta/adapters/memory/standard_memory_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/memory/standard_memory_with_json_key_serializer_spec.rb +1 -1
- data/spec/moneta/adapters/memory/standard_memory_with_json_serializer_spec.rb +1 -1
- data/spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb +2 -2
- data/spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb +39 -2
- data/spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb +2 -2
- data/spec/moneta/adapters/mongo/adapter_mongo_spec.rb +32 -2
- data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +6 -4
- data/spec/moneta/adapters/mongo/standard_mongo_spec.rb +2 -2
- data/spec/moneta/adapters/pstore/standard_pstore_spec.rb +1 -1
- data/spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/redis/adapter_redis_spec.rb +13 -3
- data/spec/moneta/adapters/redis/standard_redis_spec.rb +9 -2
- data/spec/moneta/adapters/sdbm/standard_sdbm_spec.rb +1 -1
- data/spec/moneta/adapters/sdbm/standard_sdbm_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +11 -38
- data/spec/moneta/adapters/sequel/helper.rb +42 -0
- data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +6 -12
- data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +9 -10
- data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +1 -1
- data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +2 -2
- data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +2 -2
- data/spec/moneta/adapters/tdb/standard_tdb_spec.rb +1 -1
- data/spec/moneta/adapters/tdb/standard_tdb_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_spec.rb +1 -1
- data/spec/moneta/adapters/tokyocabinet/standard_tokyocabinet_with_expires_spec.rb +1 -1
- data/spec/moneta/adapters/yaml/standard_yaml_spec.rb +1 -1
- data/spec/moneta/adapters/yaml/standard_yaml_with_expires_spec.rb +1 -1
- data/spec/moneta/builder_spec.rb +22 -0
- data/spec/moneta/proxies/expires/expires_file_spec.rb +1 -1
- data/spec/moneta/proxies/pool/pool_spec.rb +31 -3
- data/spec/moneta/proxies/shared/shared_tcp_spec.rb +14 -4
- data/spec/moneta/proxies/shared/shared_unix_spec.rb +14 -4
- data/spec/moneta/proxies/transformer/transformer_bencode_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_bert_spec.rb +3 -3
- data/spec/moneta/proxies/transformer/transformer_bson_spec.rb +2 -2
- data/spec/moneta/proxies/transformer/transformer_json_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_key_marshal_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_key_yaml_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_base64_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_escape_spec.rb +8 -4
- data/spec/moneta/proxies/transformer/transformer_marshal_hex_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_hmac_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_prefix_base64_spec.rb +33 -0
- data/spec/moneta/proxies/transformer/transformer_marshal_prefix_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_qp_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_urlsafe_base64_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_marshal_uuencode_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_msgpack_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_ox_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_php_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_tnet_spec.rb +1 -1
- data/spec/moneta/proxies/transformer/transformer_yaml_spec.rb +2 -2
- data/spec/moneta/proxies/weak_each_key/weak_each_key_spec.rb +0 -2
- data/spec/restserver.rb +15 -0
- metadata +47 -66
- data/.travis.yml +0 -140
- data/lib/moneta/adapters/mongo/base.rb +0 -103
- data/lib/moneta/adapters/mongo/moped.rb +0 -163
- data/lib/moneta/adapters/mongo/official.rb +0 -156
- data/script/reconfigure-couchdb +0 -13
- data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb +0 -15
- data/spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb +0 -15
- data/spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb +0 -25
- data/spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb +0 -12
- data/spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb +0 -25
- data/spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb +0 -12
- data/spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb +0 -7
- data/spec/moneta/adapters/mongo/standard_mongo_official_spec.rb +0 -7
- data/spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb +0 -10
- data/spec/moneta/proxies/proxy/proxy_redis_spec.rb +0 -13
- data/spec/quality_spec.rb +0 -51
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a202106a03e55e35500188da66bf1509b5759c5d202ef0b6b84e731247d8fa62
|
|
4
|
+
data.tar.gz: 964762ceafae4fafa65f0a07e2ac6d90f8d1bc43b1d74d5428736eb9a23a86f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 18e5417ed780ae397000d539e8d7f1d5e51dfce856fb7913f11f2ff5f53a1c5f52a50ba3a2bccaca5572d894f8fd1adf77a73f1b446323e00b7c0cf0814c3710
|
|
7
|
+
data.tar.gz: c8f781706f5cd8022a9b728a2d9948d7a14e08c875ee6c1b75d4df7faefb94ebf54a0192733b5c0af05d1b879296dcf687aedaf40125daad234aaa44429cb540
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
name: Ruby CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
adapters:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
fail-fast: false
|
|
15
|
+
|
|
16
|
+
matrix:
|
|
17
|
+
ruby-version: [2.7, 2.6, 2.5, 2.4, 2.3, jruby]
|
|
18
|
+
adapter:
|
|
19
|
+
- Client
|
|
20
|
+
- Cookie
|
|
21
|
+
- Daybreak
|
|
22
|
+
#- dbm
|
|
23
|
+
- File
|
|
24
|
+
- Fog
|
|
25
|
+
- GDBM
|
|
26
|
+
- HashFile
|
|
27
|
+
#- HBase
|
|
28
|
+
- KyotoCabinet
|
|
29
|
+
- LevelDB
|
|
30
|
+
- LMDB
|
|
31
|
+
- LocalMemCache
|
|
32
|
+
- LRUHash
|
|
33
|
+
- Memory
|
|
34
|
+
- 'Null'
|
|
35
|
+
- PStore
|
|
36
|
+
- RestClient
|
|
37
|
+
#- riak
|
|
38
|
+
- SDBM
|
|
39
|
+
- TDB
|
|
40
|
+
- TokyoCabinet
|
|
41
|
+
- TokyoTyrant
|
|
42
|
+
- YAML
|
|
43
|
+
|
|
44
|
+
env:
|
|
45
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper memcached_native
|
|
46
|
+
|
|
47
|
+
steps:
|
|
48
|
+
- uses: actions/checkout@v2
|
|
49
|
+
|
|
50
|
+
- name: Apt update
|
|
51
|
+
run: sudo apt-get update
|
|
52
|
+
|
|
53
|
+
- name: Apt install dependencies
|
|
54
|
+
run: sudo apt-get install -y libkyotocabinet-dev libleveldb-dev liblzo2-dev libtdb-dev libtokyocabinet-dev tokyotyrant libgdbm-dev
|
|
55
|
+
|
|
56
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
57
|
+
uses: ruby/setup-ruby@v1
|
|
58
|
+
with:
|
|
59
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
60
|
+
bundler: latest
|
|
61
|
+
bundler-cache: true
|
|
62
|
+
|
|
63
|
+
- name: Rspec
|
|
64
|
+
run: bundle exec rspec -t ~unstable -t adapter:${{ matrix.adapter }}
|
|
65
|
+
|
|
66
|
+
couch:
|
|
67
|
+
name: "Couch adapter"
|
|
68
|
+
runs-on: ubuntu-latest
|
|
69
|
+
|
|
70
|
+
services:
|
|
71
|
+
couch:
|
|
72
|
+
image: couchdb
|
|
73
|
+
env:
|
|
74
|
+
COUCHDB_USER: admin
|
|
75
|
+
COUCHDB_PASSWORD: password
|
|
76
|
+
options: >-
|
|
77
|
+
--health-cmd "curl -s http://127.0.0.1:5984/"
|
|
78
|
+
--health-interval 10s
|
|
79
|
+
--health-timeout 5s
|
|
80
|
+
--health-retries 5
|
|
81
|
+
ports:
|
|
82
|
+
- 5984:5984
|
|
83
|
+
|
|
84
|
+
strategy:
|
|
85
|
+
matrix:
|
|
86
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
87
|
+
|
|
88
|
+
env:
|
|
89
|
+
BUNDLE_WITHOUT: activerecord riak cassandra postgresql mysql datamapper memcached_native leveldb lzo tdb
|
|
90
|
+
|
|
91
|
+
steps:
|
|
92
|
+
- uses: actions/checkout@v2
|
|
93
|
+
|
|
94
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
95
|
+
uses: ruby/setup-ruby@v1
|
|
96
|
+
with:
|
|
97
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
98
|
+
bundler: latest
|
|
99
|
+
bundler-cache: true
|
|
100
|
+
|
|
101
|
+
- name: Rspec
|
|
102
|
+
run: bundle exec rspec -t adapter:Couch
|
|
103
|
+
|
|
104
|
+
cassandra:
|
|
105
|
+
name: "Cassandra adapter"
|
|
106
|
+
runs-on: ubuntu-latest
|
|
107
|
+
|
|
108
|
+
services:
|
|
109
|
+
cassandra:
|
|
110
|
+
image: cassandra
|
|
111
|
+
options: >-
|
|
112
|
+
--health-cmd "cqlsh -e \"SELECT cql_version FROM system.local\""
|
|
113
|
+
--health-interval 10s
|
|
114
|
+
--health-timeout 5s
|
|
115
|
+
--health-retries 5
|
|
116
|
+
ports:
|
|
117
|
+
- 9042:9042
|
|
118
|
+
|
|
119
|
+
strategy:
|
|
120
|
+
matrix:
|
|
121
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
122
|
+
|
|
123
|
+
env:
|
|
124
|
+
BUNDLE_WITHOUT: activerecord riak couch postgresql mysql datamapper memcached_native leveldb lzo tdb
|
|
125
|
+
|
|
126
|
+
steps:
|
|
127
|
+
- uses: actions/checkout@v2
|
|
128
|
+
|
|
129
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
130
|
+
uses: ruby/setup-ruby@v1
|
|
131
|
+
with:
|
|
132
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
133
|
+
bundler: latest
|
|
134
|
+
bundler-cache: true
|
|
135
|
+
|
|
136
|
+
- name: Rspec
|
|
137
|
+
run: bundle exec rspec -t adapter:Cassandra
|
|
138
|
+
|
|
139
|
+
mysql-adapters:
|
|
140
|
+
name: "MySQL adapters"
|
|
141
|
+
runs-on: ubuntu-latest
|
|
142
|
+
|
|
143
|
+
services:
|
|
144
|
+
mysql:
|
|
145
|
+
image: mysql
|
|
146
|
+
env:
|
|
147
|
+
MYSQL_ROOT_PASSWORD: moneta
|
|
148
|
+
options: >-
|
|
149
|
+
--health-cmd "mysqladmin ping -h 127.0.0.1 --silent"
|
|
150
|
+
--health-interval 10s
|
|
151
|
+
--health-timeout 5s
|
|
152
|
+
--health-retries 5
|
|
153
|
+
ports:
|
|
154
|
+
- 3306:3306
|
|
155
|
+
|
|
156
|
+
strategy:
|
|
157
|
+
matrix:
|
|
158
|
+
ruby-version: [2.7, 2.4, jruby]
|
|
159
|
+
|
|
160
|
+
env:
|
|
161
|
+
BUNDLE_WITHOUT: riak couch cassandra postgresql memcached_native leveldb
|
|
162
|
+
MYSQL_HOST: 127.0.0.1
|
|
163
|
+
MONETA_MYSQL_PASSWORD: moneta
|
|
164
|
+
|
|
165
|
+
steps:
|
|
166
|
+
- uses: actions/checkout@v2
|
|
167
|
+
|
|
168
|
+
- name: Apt update
|
|
169
|
+
run: sudo apt-get update
|
|
170
|
+
|
|
171
|
+
- name: Apt install mysql packages
|
|
172
|
+
run: sudo apt-get install -y libmysqlclient-dev
|
|
173
|
+
|
|
174
|
+
- name: Create Database moneta
|
|
175
|
+
run: mysqladmin -h 127.0.0.1 -u root create moneta
|
|
176
|
+
env:
|
|
177
|
+
MYSQL_PWD: moneta
|
|
178
|
+
|
|
179
|
+
- name: Create Database moneta2
|
|
180
|
+
run: mysqladmin -h 127.0.0.1 -u root create moneta2
|
|
181
|
+
env:
|
|
182
|
+
MYSQL_PWD: moneta
|
|
183
|
+
|
|
184
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
185
|
+
uses: ruby/setup-ruby@v1
|
|
186
|
+
with:
|
|
187
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
188
|
+
bundler: latest
|
|
189
|
+
bundler-cache: true
|
|
190
|
+
|
|
191
|
+
- name: Rspec
|
|
192
|
+
run: bundle exec rspec -t mysql
|
|
193
|
+
|
|
194
|
+
postgres-adapters:
|
|
195
|
+
name: "Postgres adapters"
|
|
196
|
+
runs-on: ubuntu-latest
|
|
197
|
+
|
|
198
|
+
services:
|
|
199
|
+
postgres:
|
|
200
|
+
image: postgres
|
|
201
|
+
env:
|
|
202
|
+
POSTGRES_PASSWORD: moneta
|
|
203
|
+
options: >-
|
|
204
|
+
--health-cmd pg_isready
|
|
205
|
+
--health-interval 10s
|
|
206
|
+
--health-timeout 5s
|
|
207
|
+
--health-retries 5
|
|
208
|
+
ports:
|
|
209
|
+
- 5432:5432
|
|
210
|
+
|
|
211
|
+
strategy:
|
|
212
|
+
matrix:
|
|
213
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
214
|
+
|
|
215
|
+
env:
|
|
216
|
+
BUNDLE_WITHOUT: riak couch cassandra mysql memcached_native leveldb
|
|
217
|
+
PGHOST: localhost
|
|
218
|
+
PGUSER: postgres
|
|
219
|
+
PGPASSWORD: moneta
|
|
220
|
+
|
|
221
|
+
steps:
|
|
222
|
+
- uses: actions/checkout@v2
|
|
223
|
+
|
|
224
|
+
- name: Create Database moneta1
|
|
225
|
+
run: createdb moneta1
|
|
226
|
+
|
|
227
|
+
- name: Create Database moneta2
|
|
228
|
+
run: createdb moneta2
|
|
229
|
+
|
|
230
|
+
- name: Add hstore support to moneta1
|
|
231
|
+
run: psql -c 'create extension hstore;' moneta1
|
|
232
|
+
|
|
233
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
234
|
+
uses: ruby/setup-ruby@v1
|
|
235
|
+
with:
|
|
236
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
237
|
+
bundler: latest
|
|
238
|
+
bundler-cache: true
|
|
239
|
+
|
|
240
|
+
- name: Rspec
|
|
241
|
+
run: bundle exec rspec -t postgres
|
|
242
|
+
|
|
243
|
+
sqlite-adapters:
|
|
244
|
+
name: "SQLite adapters"
|
|
245
|
+
runs-on: ubuntu-latest
|
|
246
|
+
|
|
247
|
+
strategy:
|
|
248
|
+
matrix:
|
|
249
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
250
|
+
|
|
251
|
+
env:
|
|
252
|
+
BUNDLE_WITHOUT: riak couch cassandra mysql postgres memcached_native leveldb
|
|
253
|
+
|
|
254
|
+
steps:
|
|
255
|
+
- uses: actions/checkout@v2
|
|
256
|
+
|
|
257
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
258
|
+
uses: ruby/setup-ruby@v1
|
|
259
|
+
with:
|
|
260
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
261
|
+
bundler: latest
|
|
262
|
+
bundler-cache: true
|
|
263
|
+
|
|
264
|
+
- name: Rspec
|
|
265
|
+
run: bundle exec rspec -t sqlite
|
|
266
|
+
|
|
267
|
+
redis:
|
|
268
|
+
name: "Redis adapters"
|
|
269
|
+
runs-on: ubuntu-latest
|
|
270
|
+
|
|
271
|
+
services:
|
|
272
|
+
redis:
|
|
273
|
+
image: redis
|
|
274
|
+
options: >-
|
|
275
|
+
--health-cmd "redis-cli ping"
|
|
276
|
+
--health-interval 10s
|
|
277
|
+
--health-timeout 5s
|
|
278
|
+
--health-retries 5
|
|
279
|
+
ports:
|
|
280
|
+
- 6379:6379
|
|
281
|
+
|
|
282
|
+
strategy:
|
|
283
|
+
matrix:
|
|
284
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
285
|
+
|
|
286
|
+
env:
|
|
287
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper memcached_native leveldb
|
|
288
|
+
|
|
289
|
+
steps:
|
|
290
|
+
- uses: actions/checkout@v2
|
|
291
|
+
|
|
292
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
293
|
+
uses: ruby/setup-ruby@v1
|
|
294
|
+
with:
|
|
295
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
296
|
+
bundler: latest
|
|
297
|
+
bundler-cache: true
|
|
298
|
+
|
|
299
|
+
- name: Rspec
|
|
300
|
+
run: bundle exec rspec -t adapter:Redis -t redis
|
|
301
|
+
|
|
302
|
+
memcached:
|
|
303
|
+
name: "Memcached adapters"
|
|
304
|
+
runs-on: ubuntu-latest
|
|
305
|
+
|
|
306
|
+
strategy:
|
|
307
|
+
matrix:
|
|
308
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
309
|
+
|
|
310
|
+
env:
|
|
311
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper leveldb lzo tdb
|
|
312
|
+
|
|
313
|
+
steps:
|
|
314
|
+
- uses: actions/checkout@v2
|
|
315
|
+
|
|
316
|
+
- name: Apt update
|
|
317
|
+
run: sudo apt-get update
|
|
318
|
+
|
|
319
|
+
- name: Apt install memcached
|
|
320
|
+
run: sudo apt-get install -y memcached libsasl2-dev
|
|
321
|
+
|
|
322
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
323
|
+
uses: ruby/setup-ruby@v1
|
|
324
|
+
with:
|
|
325
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
326
|
+
bundler: latest
|
|
327
|
+
bundler-cache: true
|
|
328
|
+
|
|
329
|
+
- name: Rspec
|
|
330
|
+
run: bundle exec rspec -t ~unstable -t adapter:Memcached -t memcached
|
|
331
|
+
|
|
332
|
+
mongo:
|
|
333
|
+
name: "Mongo adapter"
|
|
334
|
+
runs-on: ubuntu-latest
|
|
335
|
+
|
|
336
|
+
services:
|
|
337
|
+
mongo:
|
|
338
|
+
image: mongo
|
|
339
|
+
options: >-
|
|
340
|
+
--health-cmd "mongo --eval db"
|
|
341
|
+
--health-interval 10s
|
|
342
|
+
--health-timeout 5s
|
|
343
|
+
--health-retries 5
|
|
344
|
+
ports:
|
|
345
|
+
- 27017:27017
|
|
346
|
+
|
|
347
|
+
strategy:
|
|
348
|
+
matrix:
|
|
349
|
+
ruby-version: [2.7, 2.3] #, jruby] - FIXME reenable once https://github.com/mongodb/mongo-ruby-driver/pull/2143 is released
|
|
350
|
+
|
|
351
|
+
env:
|
|
352
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper memcached_native leveldb
|
|
353
|
+
|
|
354
|
+
steps:
|
|
355
|
+
- uses: actions/checkout@v2
|
|
356
|
+
|
|
357
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
358
|
+
uses: ruby/setup-ruby@v1
|
|
359
|
+
with:
|
|
360
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
361
|
+
bundler: latest
|
|
362
|
+
bundler-cache: true
|
|
363
|
+
|
|
364
|
+
- name: Rspec
|
|
365
|
+
run: bundle exec rspec -t adapter:Mongo
|
|
366
|
+
|
|
367
|
+
residual-specs:
|
|
368
|
+
name: "Proxies and other specs"
|
|
369
|
+
runs-on: ubuntu-latest
|
|
370
|
+
|
|
371
|
+
strategy:
|
|
372
|
+
matrix:
|
|
373
|
+
ruby-version: [2.7, 2.3, jruby]
|
|
374
|
+
|
|
375
|
+
env:
|
|
376
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper memcached_native redis leveldb
|
|
377
|
+
|
|
378
|
+
steps:
|
|
379
|
+
- uses: actions/checkout@v2
|
|
380
|
+
|
|
381
|
+
- name: Apt update
|
|
382
|
+
run: sudo apt-get update
|
|
383
|
+
|
|
384
|
+
- name: Apt install dependencies
|
|
385
|
+
run: sudo apt-get install -y libgdbm-dev
|
|
386
|
+
|
|
387
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
388
|
+
uses: ruby/setup-ruby@v1
|
|
389
|
+
with:
|
|
390
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
391
|
+
bundler: latest
|
|
392
|
+
bundler-cache: true
|
|
393
|
+
|
|
394
|
+
- name: Rspec
|
|
395
|
+
run: bundle exec rspec -t ~unstable --exclude-pattern "./spec/{moneta/adapters/**/*,active_support/**/*}"
|
|
396
|
+
|
|
397
|
+
- name: Minitest
|
|
398
|
+
run: bundle exec ruby test/action_dispatch/session_moneta_store_test.rb
|
|
399
|
+
|
|
400
|
+
rubocop:
|
|
401
|
+
name: "Rubocop"
|
|
402
|
+
runs-on: ubuntu-latest
|
|
403
|
+
|
|
404
|
+
env:
|
|
405
|
+
BUNDLE_WITHOUT: activerecord riak couch cassandra postgresql mysql datamapper memcached_native redis leveldb
|
|
406
|
+
|
|
407
|
+
steps:
|
|
408
|
+
- uses: actions/checkout@v2
|
|
409
|
+
|
|
410
|
+
- name: Set up Ruby
|
|
411
|
+
uses: ruby/setup-ruby@v1
|
|
412
|
+
with:
|
|
413
|
+
ruby-version: 2.7
|
|
414
|
+
bundler: latest
|
|
415
|
+
bundler-cache: true
|
|
416
|
+
|
|
417
|
+
- name: Rubocop
|
|
418
|
+
run: bundle exec rubocop lib
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
-
TargetRubyVersion: 2.
|
|
2
|
+
TargetRubyVersion: 2.3.0
|
|
3
3
|
UseCache: true
|
|
4
4
|
Exclude:
|
|
5
5
|
- hbase/**/*
|
|
6
6
|
- script/**/*
|
|
7
7
|
- vendor/**/*
|
|
8
8
|
|
|
9
|
-
Layout/
|
|
10
|
-
Exclude:
|
|
11
|
-
- lib/moneta/transformer/config.rb
|
|
12
|
-
|
|
13
|
-
Layout/AlignHash:
|
|
9
|
+
Layout/ArrayAlignment:
|
|
14
10
|
Exclude:
|
|
15
11
|
- lib/moneta/transformer/config.rb
|
|
16
12
|
|
|
@@ -25,6 +21,13 @@ Layout/ExtraSpacing:
|
|
|
25
21
|
- lib/moneta.rb
|
|
26
22
|
- lib/moneta/transformer/config.rb
|
|
27
23
|
|
|
24
|
+
Layout/HashAlignment:
|
|
25
|
+
Exclude:
|
|
26
|
+
- lib/moneta/transformer/config.rb
|
|
27
|
+
|
|
28
|
+
Layout/LineLength:
|
|
29
|
+
Max: 160
|
|
30
|
+
|
|
28
31
|
Layout/MultilineMethodCallIndentation:
|
|
29
32
|
EnforcedStyle: indented
|
|
30
33
|
|
|
@@ -38,12 +41,18 @@ Layout/SpaceInsideArrayLiteralBrackets:
|
|
|
38
41
|
Lint/AssignmentInCondition:
|
|
39
42
|
Enabled: false
|
|
40
43
|
|
|
44
|
+
Lint/RaiseException:
|
|
45
|
+
Enabled: true
|
|
46
|
+
|
|
41
47
|
Lint/ShadowedException:
|
|
42
48
|
Enabled: false
|
|
43
49
|
|
|
44
50
|
Lint/ShadowingOuterLocalVariable:
|
|
45
51
|
Enabled: false
|
|
46
52
|
|
|
53
|
+
Lint/StructNewOverride:
|
|
54
|
+
Enabled: true
|
|
55
|
+
|
|
47
56
|
Lint/UnusedMethodArgument:
|
|
48
57
|
Enabled: false
|
|
49
58
|
|
|
@@ -67,12 +76,12 @@ Metrics/BlockLength:
|
|
|
67
76
|
Exclude:
|
|
68
77
|
- spec/**/*
|
|
69
78
|
|
|
70
|
-
Metrics/LineLength:
|
|
71
|
-
Max: 160
|
|
72
|
-
|
|
73
79
|
Metrics/MethodLength:
|
|
74
80
|
Enabled: false
|
|
75
81
|
|
|
82
|
+
Metrics/ModuleLength:
|
|
83
|
+
Enabled: false
|
|
84
|
+
|
|
76
85
|
Metrics/ParameterLists:
|
|
77
86
|
Enabled: false
|
|
78
87
|
|
|
@@ -117,6 +126,15 @@ Style/FormatString:
|
|
|
117
126
|
Style/GuardClause:
|
|
118
127
|
Enabled: false
|
|
119
128
|
|
|
129
|
+
Style/HashEachMethods:
|
|
130
|
+
Enabled: true
|
|
131
|
+
|
|
132
|
+
Style/HashTransformKeys:
|
|
133
|
+
Enabled: true
|
|
134
|
+
|
|
135
|
+
Style/HashTransformValues:
|
|
136
|
+
Enabled: true
|
|
137
|
+
|
|
120
138
|
Style/IfUnlessModifier:
|
|
121
139
|
Enabled: false
|
|
122
140
|
|