moneta 1.3.0 → 1.4.0
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/.rubocop.yml +26 -8
- data/CHANGES +6 -0
- data/CONTRIBUTORS +2 -1
- data/Gemfile +7 -5
- data/README.md +2 -6
- data/feature_matrix.yaml +0 -10
- data/lib/moneta.rb +9 -9
- data/lib/moneta/adapters/mongo.rb +256 -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/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/nil_values.rb +35 -0
- data/lib/moneta/option_support.rb +51 -0
- 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 +7 -9
- data/script/benchmarks +1 -2
- data/script/contributors +11 -6
- data/spec/active_support/cache_moneta_store_spec.rb +27 -29
- 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/helper.rb +16 -33
- data/spec/moneta/adapters/mongo/adapter_mongo_spec.rb +16 -1
- data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +1 -1
- data/spec/moneta/adapters/mongo/standard_mongo_spec.rb +1 -1
- data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +7 -34
- data/spec/moneta/adapters/sequel/helper.rb +37 -0
- data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +4 -10
- data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +7 -8
- data/spec/moneta/proxies/shared/shared_unix_spec.rb +10 -0
- data/spec/restserver.rb +15 -0
- metadata +39 -58
- data/lib/moneta/adapters/mongo/base.rb +0 -103
- data/lib/moneta/adapters/mongo/moped.rb +0 -166
- data/lib/moneta/adapters/mongo/official.rb +0 -156
- data/spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb +0 -26
- data/spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb +0 -14
- data/spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb +0 -27
- data/spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb +0 -14
- 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/quality_spec.rb +0 -51
data/spec/helper.rb
CHANGED
@@ -286,23 +286,9 @@ module MonetaHelpers
|
|
286
286
|
end
|
287
287
|
end
|
288
288
|
|
289
|
-
# Used to test time-dependent specs (e.g. expiry at different positions
|
290
|
-
# within a second). Once close to the start of the second, and once close
|
291
|
-
# to the end.
|
292
|
-
def usecs
|
293
|
-
[1e4, 99e4].map(&:to_i)
|
294
|
-
end
|
295
|
-
|
296
|
-
def at_each_usec(&block)
|
297
|
-
usecs.each do |usec|
|
298
|
-
context "at #{usec} microseconds", isolate: true do
|
299
|
-
include_examples :at_usec, usec, &block
|
300
|
-
end
|
301
|
-
end
|
302
|
-
end
|
303
|
-
|
304
289
|
def use_timecop
|
305
|
-
before{ @timecop = true }
|
290
|
+
before { @timecop = true }
|
291
|
+
after { Timecop.return }
|
306
292
|
end
|
307
293
|
end
|
308
294
|
|
@@ -351,6 +337,20 @@ module MonetaHelpers
|
|
351
337
|
sleep seconds
|
352
338
|
end
|
353
339
|
end
|
340
|
+
|
341
|
+
def time_till_next(tick)
|
342
|
+
now = Time.now.to_f
|
343
|
+
tick - (now % tick)
|
344
|
+
end
|
345
|
+
|
346
|
+
# advance to the moment just after a tick. 1e-2 is needed in some
|
347
|
+
# environments (JRuby) to be able to pass the "not in earlier half" test.
|
348
|
+
def advance_next_tick
|
349
|
+
tick = t_res
|
350
|
+
offset = time_till_next(tick) + 1e-2
|
351
|
+
advance offset
|
352
|
+
raise "not in earlier half of tick" unless Time.now.to_f % tick < tick / 2.0
|
353
|
+
end
|
354
354
|
end
|
355
355
|
end
|
356
356
|
|
@@ -419,7 +419,6 @@ RSpec.shared_context :setup_moneta_store do |builder|
|
|
419
419
|
end
|
420
420
|
|
421
421
|
after do
|
422
|
-
RSpec::Mocks.space.proxy_for(@store).reset
|
423
422
|
if @store
|
424
423
|
@store.close.should == nil
|
425
424
|
@store = nil
|
@@ -433,20 +432,4 @@ RSpec.shared_context :setup_moneta_store do |builder|
|
|
433
432
|
end
|
434
433
|
end
|
435
434
|
|
436
|
-
RSpec.shared_examples :at_usec do |usec|
|
437
|
-
before do
|
438
|
-
now = Time.now
|
439
|
-
# 1000us is a rough guess at how many microseconds this code will take to run
|
440
|
-
if now.usec + 1000 > usec
|
441
|
-
advance(1 - 1e-6 * (now.usec - usec))
|
442
|
-
else
|
443
|
-
advance(1e-6 * (usec - now.usec))
|
444
|
-
end
|
445
|
-
end
|
446
|
-
|
447
|
-
after do
|
448
|
-
Timecop.return if @timecop
|
449
|
-
end
|
450
|
-
end
|
451
|
-
|
452
435
|
Dir['./spec/features/*.rb'].each{ |rb| require rb }
|
@@ -4,9 +4,24 @@ describe 'adapter_mongo', adapter: :Mongo do
|
|
4
4
|
|
5
5
|
moneta_build do
|
6
6
|
Moneta::Adapters::Mongo.new(mongo_config(
|
7
|
-
db: File.basename(__FILE__, '.rb'),
|
7
|
+
db: File.basename(__FILE__, '.rb'),
|
8
|
+
collection: 'adapter_mongo'
|
8
9
|
))
|
9
10
|
end
|
10
11
|
|
11
12
|
moneta_specs ADAPTER_SPECS.with_each_key.with_native_expires.simplevalues_only
|
13
|
+
|
14
|
+
it 'automatically deletes expired document' do
|
15
|
+
store.store('key', 'val', expires: 5)
|
16
|
+
|
17
|
+
i = 0
|
18
|
+
query = store.instance_variable_get(:@collection).find(_id: ::BSON::Binary.new('key'))
|
19
|
+
while i < 70 && query.first
|
20
|
+
i += 1
|
21
|
+
sleep 1 # Mongo needs up to 60 seconds
|
22
|
+
end
|
23
|
+
|
24
|
+
i.should be > 0 # Indicates that it took at least one sleep to expire
|
25
|
+
query.count.should == 0
|
26
|
+
end
|
12
27
|
end
|
@@ -5,7 +5,7 @@ describe 'adapter_mongo_with_default_expires', isolate: true, adapter: :Mongo do
|
|
5
5
|
moneta_build do
|
6
6
|
Moneta::Adapters::Mongo.new(mongo_config(
|
7
7
|
db: File.basename(__FILE__, '.rb'),
|
8
|
-
collection: '
|
8
|
+
collection: 'adapter_mongo_with_default_expires',
|
9
9
|
expires: min_ttl
|
10
10
|
))
|
11
11
|
end
|
@@ -2,6 +2,6 @@ describe 'standard_mongo', adapter: :Mongo do
|
|
2
2
|
let(:t_res) { 0.125 }
|
3
3
|
let(:min_ttl) { t_res }
|
4
4
|
|
5
|
-
moneta_store :Mongo, MongoHelper::mongo_config(db: File.basename(__FILE__, '.rb'), collection: '
|
5
|
+
moneta_store :Mongo, MongoHelper::mongo_config(db: File.basename(__FILE__, '.rb'), collection: 'standard_mongo')
|
6
6
|
moneta_specs STANDARD_SPECS.with_native_expires.with_each_key
|
7
7
|
end
|
@@ -1,17 +1,13 @@
|
|
1
1
|
require_relative './helper.rb'
|
2
2
|
|
3
3
|
describe ':Sequel adapter', adapter: :Sequel do
|
4
|
+
include_context :sequel
|
5
|
+
|
4
6
|
specs = ADAPTER_SPECS.with_each_key.with_values(:nil)
|
5
7
|
|
6
8
|
context 'with MySQL backend' do
|
7
9
|
moneta_build do
|
8
|
-
Moneta::Adapters::Sequel.new(opts.merge(
|
9
|
-
db: if defined?(JRUBY_VERSION)
|
10
|
-
"jdbc:mysql://localhost/#{mysql_database1}?user=#{mysql_username}"
|
11
|
-
else
|
12
|
-
"mysql2://#{mysql_username}:@localhost/#{mysql_database1}"
|
13
|
-
end
|
14
|
-
))
|
10
|
+
Moneta::Adapters::Sequel.new(opts.merge(db: mysql_uri))
|
15
11
|
end
|
16
12
|
|
17
13
|
include_examples :adapter_sequel, specs
|
@@ -19,8 +15,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
19
15
|
|
20
16
|
context "with SQLite backend" do
|
21
17
|
moneta_build do
|
22
|
-
Moneta::Adapters::Sequel.new(opts.merge(
|
23
|
-
db: "#{defined?(JRUBY_VERSION) && 'jdbc:'}sqlite://" + File.join(tempdir, 'adapter_sequel.db')))
|
18
|
+
Moneta::Adapters::Sequel.new(opts.merge(db: sqlite_uri('adapter_sequel.db')))
|
24
19
|
end
|
25
20
|
|
26
21
|
include_examples :adapter_sequel, specs.without_concurrent
|
@@ -28,16 +23,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
28
23
|
|
29
24
|
context "with Postgres backend" do
|
30
25
|
moneta_build do
|
31
|
-
Moneta::Adapters::Sequel.new(opts.merge(
|
32
|
-
if defined?(JRUBY_VERSION)
|
33
|
-
{db: "jdbc:postgresql://localhost/#{postgres_database1}?user=#{postgres_username}"}
|
34
|
-
else
|
35
|
-
{
|
36
|
-
db: "postgres://localhost/#{postgres_database1}",
|
37
|
-
user: postgres_username
|
38
|
-
}
|
39
|
-
end
|
40
|
-
))
|
26
|
+
Moneta::Adapters::Sequel.new(opts.merge(postgres_options))
|
41
27
|
end
|
42
28
|
|
43
29
|
include_examples :adapter_sequel, specs
|
@@ -45,8 +31,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
45
31
|
|
46
32
|
context "with H2 backend", unsupported: !defined?(JRUBY_VERSION) do
|
47
33
|
moneta_build do
|
48
|
-
Moneta::Adapters::Sequel.new(opts.merge(
|
49
|
-
db: "jdbc:h2:" + tempdir))
|
34
|
+
Moneta::Adapters::Sequel.new(opts.merge(db: h2_uri))
|
50
35
|
end
|
51
36
|
|
52
37
|
include_examples :adapter_sequel, specs, optimize: false
|
@@ -54,19 +39,7 @@ describe ':Sequel adapter', adapter: :Sequel do
|
|
54
39
|
|
55
40
|
context "with Postgres HStore backend" do
|
56
41
|
moneta_build do
|
57
|
-
Moneta::Adapters::Sequel.new(
|
58
|
-
if defined?(JRUBY_VERSION)
|
59
|
-
{db: "jdbc:postgresql://localhost/#{postgres_database1}?user=#{postgres_username}"}
|
60
|
-
else
|
61
|
-
{
|
62
|
-
db: "postgres://localhost/#{postgres_database1}",
|
63
|
-
user: postgres_username
|
64
|
-
}
|
65
|
-
end.merge(
|
66
|
-
table: 'hstore_table1',
|
67
|
-
hstore: 'row'
|
68
|
-
)
|
69
|
-
)
|
42
|
+
Moneta::Adapters::Sequel.new(postgres_hstore_options)
|
70
43
|
end
|
71
44
|
|
72
45
|
# Concurrency is too slow, and binary values cannot be stored in an hstore
|
@@ -1,3 +1,40 @@
|
|
1
|
+
RSpec.shared_context :sequel do
|
2
|
+
def mysql_uri database=nil
|
3
|
+
database ||= mysql_database1
|
4
|
+
if defined?(JRUBY_VERSION)
|
5
|
+
"jdbc:mysql://localhost/#{database}?user=#{mysql_username}&useSSL=false"
|
6
|
+
else
|
7
|
+
"mysql2://#{mysql_username}:@localhost/#{database}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def sqlite_uri file_name
|
12
|
+
"#{defined?(JRUBY_VERSION) && 'jdbc:'}sqlite://" + File.join(tempdir, file_name)
|
13
|
+
end
|
14
|
+
|
15
|
+
def postgres_options database=nil
|
16
|
+
database ||= postgres_database1
|
17
|
+
if defined?(JRUBY_VERSION)
|
18
|
+
{db: "jdbc:postgresql://localhost/#{database}?user=#{postgres_username}"}
|
19
|
+
else
|
20
|
+
{
|
21
|
+
db: "postgres://localhost/#{database}",
|
22
|
+
user: postgres_username
|
23
|
+
}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def postgres_hstore_options database=nil
|
28
|
+
postgres_options(database).merge \
|
29
|
+
table: 'hstore_table1',
|
30
|
+
hstore: 'row'
|
31
|
+
end
|
32
|
+
|
33
|
+
def h2_uri
|
34
|
+
"jdbc:h2:" + tempdir
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
1
38
|
RSpec.shared_examples :adapter_sequel do |specs, optimize: true|
|
2
39
|
shared_examples :each_key_server do
|
3
40
|
context "with each_key server" do
|
@@ -1,14 +1,8 @@
|
|
1
|
+
require_relative './helper.rb'
|
2
|
+
|
1
3
|
describe 'standard_sequel', adapter: :Sequel do
|
2
|
-
|
3
|
-
{
|
4
|
-
db: if defined?(JRUBY_VERSION)
|
5
|
-
"jdbc:mysql://localhost/#{mysql_database1}?user=#{mysql_username}"
|
6
|
-
else
|
7
|
-
"mysql2://#{mysql_username}:@localhost/#{mysql_database1}"
|
8
|
-
end,
|
9
|
-
table: "simple_sequel"
|
10
|
-
}
|
11
|
-
end
|
4
|
+
include_context :sequel
|
12
5
|
|
6
|
+
moneta_store(:Sequel) { postgres_options.merge(table: "standard_sequel") }
|
13
7
|
moneta_specs STANDARD_SPECS.with_each_key
|
14
8
|
end
|
@@ -1,18 +1,17 @@
|
|
1
|
+
require_relative './helper.rb'
|
2
|
+
|
1
3
|
describe 'standard_sequel_with_expires', adapter: :Sequel do
|
4
|
+
include_context :sequel
|
5
|
+
|
2
6
|
let(:t_res) { 0.125 }
|
3
7
|
let(:min_ttl) { t_res }
|
4
8
|
use_timecop
|
5
9
|
|
6
10
|
moneta_store :Sequel do
|
7
|
-
|
8
|
-
|
9
|
-
"jdbc:mysql://localhost/#{mysql_database1}?user=#{mysql_username}"
|
10
|
-
else
|
11
|
-
"mysql2://#{mysql_username}:@localhost/#{mysql_database1}"
|
12
|
-
end,
|
13
|
-
table: "simple_sequel_with_expires",
|
11
|
+
postgres_options.merge(
|
12
|
+
table: "standard_sequel_with_expires",
|
14
13
|
expires: true
|
15
|
-
|
14
|
+
)
|
16
15
|
end
|
17
16
|
|
18
17
|
moneta_specs STANDARD_SPECS.with_expires.with_each_key
|
@@ -21,6 +21,11 @@ describe "shared_unix", proxy: :Shared do
|
|
21
21
|
end
|
22
22
|
|
23
23
|
context "runnning as the server" do
|
24
|
+
before do
|
25
|
+
store.load('dummy')
|
26
|
+
expect(store.server?).to be true
|
27
|
+
end
|
28
|
+
|
24
29
|
include_examples :shared_unix
|
25
30
|
|
26
31
|
it "has the underlying adapter" do
|
@@ -34,6 +39,11 @@ describe "shared_unix", proxy: :Shared do
|
|
34
39
|
new_store.tap { |store| store.load('dummy') } # Makes a connection
|
35
40
|
end
|
36
41
|
|
42
|
+
before do
|
43
|
+
store.load('dummy')
|
44
|
+
expect(store.server?).to be false
|
45
|
+
end
|
46
|
+
|
37
47
|
after do
|
38
48
|
server_store.close
|
39
49
|
end
|
data/spec/restserver.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'faraday'
|
1
2
|
require 'rack'
|
2
3
|
require 'rack/moneta_rest'
|
3
4
|
|
@@ -31,6 +32,20 @@ def start_restserver(port)
|
|
31
32
|
)
|
32
33
|
|
33
34
|
Thread.start { server.start }
|
35
|
+
|
36
|
+
begin
|
37
|
+
Faraday.get("http://127.0.0.1:#{port}")
|
38
|
+
rescue Faraday::ConnectionFailed
|
39
|
+
tries ||= 5
|
40
|
+
tries -= 1
|
41
|
+
if tries > 0
|
42
|
+
sleep 0.1
|
43
|
+
retry
|
44
|
+
else
|
45
|
+
raise
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
34
49
|
server
|
35
50
|
end
|
36
51
|
|
metadata
CHANGED
@@ -1,46 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moneta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Mendler
|
8
8
|
- Yehuda Katz
|
9
9
|
- Hannes Georg
|
10
10
|
- Alastair Pharo
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2020-
|
14
|
+
date: 2020-08-23 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
18
|
-
requirement: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - "~>"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '3.0'
|
23
|
-
type: :development
|
24
|
-
prerelease: false
|
25
|
-
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '3.0'
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: rspec-retry
|
17
|
+
name: parallel_tests
|
32
18
|
requirement: !ruby/object:Gem::Requirement
|
33
19
|
requirements:
|
34
20
|
- - "~>"
|
35
21
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
22
|
+
version: 2.29.2
|
37
23
|
type: :development
|
38
24
|
prerelease: false
|
39
25
|
version_requirements: !ruby/object:Gem::Requirement
|
40
26
|
requirements:
|
41
27
|
- - "~>"
|
42
28
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
29
|
+
version: 2.29.2
|
44
30
|
- !ruby/object:Gem::Dependency
|
45
31
|
name: rantly
|
46
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,67 +42,67 @@ dependencies:
|
|
56
42
|
- !ruby/object:Gem::Version
|
57
43
|
version: 1.2.0
|
58
44
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
45
|
+
name: rspec
|
60
46
|
requirement: !ruby/object:Gem::Requirement
|
61
47
|
requirements:
|
62
48
|
- - "~>"
|
63
49
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
50
|
+
version: '3.0'
|
65
51
|
type: :development
|
66
52
|
prerelease: false
|
67
53
|
version_requirements: !ruby/object:Gem::Requirement
|
68
54
|
requirements:
|
69
55
|
- - "~>"
|
70
56
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
57
|
+
version: '3.0'
|
72
58
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
59
|
+
name: rspec-retry
|
74
60
|
requirement: !ruby/object:Gem::Requirement
|
75
61
|
requirements:
|
76
62
|
- - "~>"
|
77
63
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0.
|
64
|
+
version: 0.6.1
|
79
65
|
type: :development
|
80
66
|
prerelease: false
|
81
67
|
version_requirements: !ruby/object:Gem::Requirement
|
82
68
|
requirements:
|
83
69
|
- - "~>"
|
84
70
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0.
|
71
|
+
version: 0.6.1
|
86
72
|
- !ruby/object:Gem::Dependency
|
87
73
|
name: rubocop
|
88
74
|
requirement: !ruby/object:Gem::Requirement
|
89
75
|
requirements:
|
90
76
|
- - "~>"
|
91
77
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.
|
78
|
+
version: 0.81.0
|
93
79
|
type: :development
|
94
80
|
prerelease: false
|
95
81
|
version_requirements: !ruby/object:Gem::Requirement
|
96
82
|
requirements:
|
97
83
|
- - "~>"
|
98
84
|
- !ruby/object:Gem::Version
|
99
|
-
version: 0.
|
85
|
+
version: 0.81.0
|
100
86
|
- !ruby/object:Gem::Dependency
|
101
|
-
name:
|
87
|
+
name: timecop
|
102
88
|
requirement: !ruby/object:Gem::Requirement
|
103
89
|
requirements:
|
104
|
-
- -
|
90
|
+
- - "~>"
|
105
91
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
92
|
+
version: 0.9.1
|
107
93
|
type: :development
|
108
94
|
prerelease: false
|
109
95
|
version_requirements: !ruby/object:Gem::Requirement
|
110
96
|
requirements:
|
111
|
-
- -
|
97
|
+
- - "~>"
|
112
98
|
- !ruby/object:Gem::Version
|
113
|
-
version:
|
99
|
+
version: 0.9.1
|
114
100
|
description: A unified interface to key/value stores
|
115
101
|
email:
|
116
102
|
- mail@daniel-mendler.de
|
117
103
|
- wycats@gmail.com
|
118
104
|
- hannes.georg@googlemail.com
|
119
|
-
-
|
105
|
+
- me@asph.dev
|
120
106
|
executables: []
|
121
107
|
extensions: []
|
122
108
|
extra_rdoc_files:
|
@@ -162,9 +148,6 @@ files:
|
|
162
148
|
- lib/moneta/adapters/memcached/native.rb
|
163
149
|
- lib/moneta/adapters/memory.rb
|
164
150
|
- lib/moneta/adapters/mongo.rb
|
165
|
-
- lib/moneta/adapters/mongo/base.rb
|
166
|
-
- lib/moneta/adapters/mongo/moped.rb
|
167
|
-
- lib/moneta/adapters/mongo/official.rb
|
168
151
|
- lib/moneta/adapters/null.rb
|
169
152
|
- lib/moneta/adapters/pstore.rb
|
170
153
|
- lib/moneta/adapters/redis.rb
|
@@ -172,6 +155,10 @@ files:
|
|
172
155
|
- lib/moneta/adapters/riak.rb
|
173
156
|
- lib/moneta/adapters/sdbm.rb
|
174
157
|
- lib/moneta/adapters/sequel.rb
|
158
|
+
- lib/moneta/adapters/sequel/mysql.rb
|
159
|
+
- lib/moneta/adapters/sequel/postgres.rb
|
160
|
+
- lib/moneta/adapters/sequel/postgres_hstore.rb
|
161
|
+
- lib/moneta/adapters/sequel/sqlite.rb
|
175
162
|
- lib/moneta/adapters/sqlite.rb
|
176
163
|
- lib/moneta/adapters/tdb.rb
|
177
164
|
- lib/moneta/adapters/tokyocabinet.rb
|
@@ -179,12 +166,20 @@ files:
|
|
179
166
|
- lib/moneta/adapters/yaml.rb
|
180
167
|
- lib/moneta/builder.rb
|
181
168
|
- lib/moneta/cache.rb
|
169
|
+
- lib/moneta/create_support.rb
|
170
|
+
- lib/moneta/dbm_adapter.rb
|
171
|
+
- lib/moneta/defaults.rb
|
172
|
+
- lib/moneta/each_key_support.rb
|
182
173
|
- lib/moneta/enumerable.rb
|
183
174
|
- lib/moneta/expires.rb
|
175
|
+
- lib/moneta/expires_support.rb
|
184
176
|
- lib/moneta/fallback.rb
|
177
|
+
- lib/moneta/hash_adapter.rb
|
178
|
+
- lib/moneta/increment_support.rb
|
185
179
|
- lib/moneta/lock.rb
|
186
180
|
- lib/moneta/logger.rb
|
187
|
-
- lib/moneta/
|
181
|
+
- lib/moneta/nil_values.rb
|
182
|
+
- lib/moneta/option_support.rb
|
188
183
|
- lib/moneta/optionmerger.rb
|
189
184
|
- lib/moneta/pool.rb
|
190
185
|
- lib/moneta/proxy.rb
|
@@ -320,14 +315,8 @@ files:
|
|
320
315
|
- spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb
|
321
316
|
- spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb
|
322
317
|
- spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb
|
323
|
-
- spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb
|
324
|
-
- spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb
|
325
|
-
- spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb
|
326
|
-
- spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb
|
327
318
|
- spec/moneta/adapters/mongo/adapter_mongo_spec.rb
|
328
319
|
- spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb
|
329
|
-
- spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb
|
330
|
-
- spec/moneta/adapters/mongo/standard_mongo_official_spec.rb
|
331
320
|
- spec/moneta/adapters/mongo/standard_mongo_spec.rb
|
332
321
|
- spec/moneta/adapters/null/null_adapter_spec.rb
|
333
322
|
- spec/moneta/adapters/null/standard_null_spec.rb
|
@@ -432,7 +421,6 @@ files:
|
|
432
421
|
- spec/moneta/semaphore_spec.rb
|
433
422
|
- spec/moneta/stack_file_memory_spec.rb
|
434
423
|
- spec/moneta/stack_memory_file_spec.rb
|
435
|
-
- spec/quality_spec.rb
|
436
424
|
- spec/rack/cache_moneta_spec.rb
|
437
425
|
- spec/rack/moneta_cookies_spec.rb
|
438
426
|
- spec/rack/moneta_store_spec.rb
|
@@ -446,10 +434,10 @@ licenses:
|
|
446
434
|
- MIT
|
447
435
|
metadata:
|
448
436
|
bug_tracker_uri: https://github.com/moneta-rb/moneta/issues
|
449
|
-
changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.
|
450
|
-
documentation_uri: https://www.rubydoc.info/gems/moneta/1.
|
451
|
-
source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.
|
452
|
-
post_install_message:
|
437
|
+
changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.0/CHANGES
|
438
|
+
documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.0
|
439
|
+
source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.0
|
440
|
+
post_install_message:
|
453
441
|
rdoc_options: []
|
454
442
|
require_paths:
|
455
443
|
- lib
|
@@ -464,8 +452,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
464
452
|
- !ruby/object:Gem::Version
|
465
453
|
version: '0'
|
466
454
|
requirements: []
|
467
|
-
rubygems_version: 3.1.
|
468
|
-
signing_key:
|
455
|
+
rubygems_version: 3.1.4
|
456
|
+
signing_key:
|
469
457
|
specification_version: 4
|
470
458
|
summary: A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet,
|
471
459
|
ActiveRecord and many more
|
@@ -574,14 +562,8 @@ test_files:
|
|
574
562
|
- spec/moneta/adapters/memory/standard_memory_with_json_value_serializer_spec.rb
|
575
563
|
- spec/moneta/adapters/memory/standard_memory_with_prefix_spec.rb
|
576
564
|
- spec/moneta/adapters/memory/standard_memory_with_snappy_compress_spec.rb
|
577
|
-
- spec/moneta/adapters/mongo/adapter_mongo_moped_spec.rb
|
578
|
-
- spec/moneta/adapters/mongo/adapter_mongo_moped_with_default_expires_spec.rb
|
579
|
-
- spec/moneta/adapters/mongo/adapter_mongo_official_spec.rb
|
580
|
-
- spec/moneta/adapters/mongo/adapter_mongo_official_with_default_expires_spec.rb
|
581
565
|
- spec/moneta/adapters/mongo/adapter_mongo_spec.rb
|
582
566
|
- spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb
|
583
|
-
- spec/moneta/adapters/mongo/standard_mongo_moped_spec.rb
|
584
|
-
- spec/moneta/adapters/mongo/standard_mongo_official_spec.rb
|
585
567
|
- spec/moneta/adapters/mongo/standard_mongo_spec.rb
|
586
568
|
- spec/moneta/adapters/null/null_adapter_spec.rb
|
587
569
|
- spec/moneta/adapters/null/standard_null_spec.rb
|
@@ -686,7 +668,6 @@ test_files:
|
|
686
668
|
- spec/moneta/semaphore_spec.rb
|
687
669
|
- spec/moneta/stack_file_memory_spec.rb
|
688
670
|
- spec/moneta/stack_memory_file_spec.rb
|
689
|
-
- spec/quality_spec.rb
|
690
671
|
- spec/rack/cache_moneta_spec.rb
|
691
672
|
- spec/rack/moneta_cookies_spec.rb
|
692
673
|
- spec/rack/moneta_store_spec.rb
|