moneta 0.7.1 → 0.7.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.
- data/.yardopts +1 -0
- data/CHANGES +21 -10
- data/README.md +1 -1
- data/SPEC.md +4 -12
- data/lib/moneta.rb +7 -5
- data/lib/moneta/adapters/activerecord.rb +9 -3
- data/lib/moneta/adapters/cassandra.rb +9 -4
- data/lib/moneta/adapters/client.rb +9 -3
- data/lib/moneta/adapters/cookie.rb +3 -0
- data/lib/moneta/adapters/couch.rb +8 -3
- data/lib/moneta/adapters/datamapper.rb +8 -3
- data/lib/moneta/adapters/dbm.rb +1 -2
- data/lib/moneta/adapters/file.rb +9 -4
- data/lib/moneta/adapters/fog.rb +8 -3
- data/lib/moneta/adapters/gdbm.rb +1 -2
- data/lib/moneta/adapters/hbase.rb +10 -3
- data/lib/moneta/adapters/leveldb.rb +3 -2
- data/lib/moneta/adapters/localmemcache.rb +4 -4
- data/lib/moneta/adapters/lruhash.rb +8 -4
- data/lib/moneta/adapters/memcached/dalli.rb +10 -4
- data/lib/moneta/adapters/memcached/native.rb +9 -4
- data/lib/moneta/adapters/memory.rb +8 -3
- data/lib/moneta/adapters/mongo.rb +7 -3
- data/lib/moneta/adapters/null.rb +8 -1
- data/lib/moneta/adapters/pstore.rb +9 -3
- data/lib/moneta/adapters/redis.rb +10 -4
- data/lib/moneta/adapters/riak.rb +12 -7
- data/lib/moneta/adapters/sdbm.rb +1 -2
- data/lib/moneta/adapters/sequel.rb +9 -3
- data/lib/moneta/adapters/sqlite.rb +10 -4
- data/lib/moneta/adapters/tokyocabinet.rb +2 -2
- data/lib/moneta/builder.rb +11 -7
- data/lib/moneta/cache.rb +16 -6
- data/lib/moneta/expires.rb +12 -6
- data/lib/moneta/lock.rb +0 -2
- data/lib/moneta/logger.rb +0 -2
- data/lib/moneta/mixins.rb +175 -47
- data/lib/moneta/optionmerger.rb +2 -0
- data/lib/moneta/proxy.rb +14 -30
- data/lib/moneta/server.rb +0 -2
- data/lib/moneta/shared.rb +1 -3
- data/lib/moneta/stack.rb +20 -10
- data/lib/moneta/transformer.rb +84 -61
- data/lib/moneta/version.rb +1 -1
- data/lib/rack/moneta_rest.rb +56 -0
- data/moneta.gemspec +1 -1
- data/spec/active_support/cache_moneta_store_spec.rb +4 -4
- data/spec/generate.rb +216 -203
- data/spec/helper.rb +0 -6
- data/spec/moneta/adapter_cassandra_spec.rb +2 -2
- data/spec/moneta/adapter_datamapper_spec.rb +1 -1
- data/spec/moneta/adapter_lruhash_spec.rb +1 -1
- data/spec/moneta/adapter_memcached_dalli_spec.rb +2 -2
- data/spec/moneta/adapter_memcached_native_spec.rb +2 -2
- data/spec/moneta/adapter_memcached_spec.rb +2 -2
- data/spec/moneta/adapter_redis_spec.rb +2 -2
- data/spec/moneta/cache_file_memory_spec.rb +3 -3
- data/spec/moneta/expires_file_spec.rb +4 -4
- data/spec/moneta/expires_memory_spec.rb +2 -2
- data/spec/moneta/optionmerger_spec.rb +6 -6
- data/spec/moneta/shared_spec.rb +1 -1
- data/spec/moneta/simple_client_tcp_spec.rb +1 -1
- data/spec/moneta/transformer_key_marshal_spec.rb +109 -0
- data/spec/moneta/transformer_key_yaml_spec.rb +109 -0
- data/spec/moneta/transformer_marshal_spec.rb +109 -0
- data/spec/moneta/transformer_value_marshal_spec.rb +109 -0
- data/spec/moneta/transformer_value_yaml_spec.rb +109 -0
- data/spec/monetaspecs.rb +14460 -3956
- metadata +16 -6
- data/lib/moneta/base.rb +0 -98
- data/lib/moneta/net.rb +0 -22
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: moneta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-12-
|
14
|
+
date: 2012-12-28 00:00:00.000000000 Z
|
15
15
|
dependencies: []
|
16
16
|
description: A unified interface to key/value stores
|
17
17
|
email:
|
@@ -27,6 +27,7 @@ extra_rdoc_files:
|
|
27
27
|
files:
|
28
28
|
- .gitignore
|
29
29
|
- .travis.yml
|
30
|
+
- .yardopts
|
30
31
|
- CHANGES
|
31
32
|
- Gemfile
|
32
33
|
- LICENSE
|
@@ -65,14 +66,12 @@ files:
|
|
65
66
|
- lib/moneta/adapters/sqlite.rb
|
66
67
|
- lib/moneta/adapters/tokyocabinet.rb
|
67
68
|
- lib/moneta/adapters/yaml.rb
|
68
|
-
- lib/moneta/base.rb
|
69
69
|
- lib/moneta/builder.rb
|
70
70
|
- lib/moneta/cache.rb
|
71
71
|
- lib/moneta/expires.rb
|
72
72
|
- lib/moneta/lock.rb
|
73
73
|
- lib/moneta/logger.rb
|
74
74
|
- lib/moneta/mixins.rb
|
75
|
-
- lib/moneta/net.rb
|
76
75
|
- lib/moneta/optionmerger.rb
|
77
76
|
- lib/moneta/proxy.rb
|
78
77
|
- lib/moneta/server.rb
|
@@ -85,6 +84,7 @@ files:
|
|
85
84
|
- lib/moneta/wrapper.rb
|
86
85
|
- lib/rack/cache/moneta.rb
|
87
86
|
- lib/rack/moneta_cookies.rb
|
87
|
+
- lib/rack/moneta_rest.rb
|
88
88
|
- lib/rack/session/moneta.rb
|
89
89
|
- moneta.gemspec
|
90
90
|
- spec/action_dispatch/fixtures/session_autoload_test/foo.rb
|
@@ -194,6 +194,8 @@ files:
|
|
194
194
|
- spec/moneta/transformer_bson_spec.rb
|
195
195
|
- spec/moneta/transformer_bzip2_spec.rb
|
196
196
|
- spec/moneta/transformer_json_spec.rb
|
197
|
+
- spec/moneta/transformer_key_marshal_spec.rb
|
198
|
+
- spec/moneta/transformer_key_yaml_spec.rb
|
197
199
|
- spec/moneta/transformer_lzma_spec.rb
|
198
200
|
- spec/moneta/transformer_lzo_spec.rb
|
199
201
|
- spec/moneta/transformer_marshal_base64_spec.rb
|
@@ -207,6 +209,7 @@ files:
|
|
207
209
|
- spec/moneta/transformer_marshal_sha256_spec.rb
|
208
210
|
- spec/moneta/transformer_marshal_sha384_spec.rb
|
209
211
|
- spec/moneta/transformer_marshal_sha512_spec.rb
|
212
|
+
- spec/moneta/transformer_marshal_spec.rb
|
210
213
|
- spec/moneta/transformer_marshal_truncate_spec.rb
|
211
214
|
- spec/moneta/transformer_marshal_uuencode_spec.rb
|
212
215
|
- spec/moneta/transformer_msgpack_spec.rb
|
@@ -214,6 +217,8 @@ files:
|
|
214
217
|
- spec/moneta/transformer_quicklz_spec.rb
|
215
218
|
- spec/moneta/transformer_snappy_spec.rb
|
216
219
|
- spec/moneta/transformer_tnet_spec.rb
|
220
|
+
- spec/moneta/transformer_value_marshal_spec.rb
|
221
|
+
- spec/moneta/transformer_value_yaml_spec.rb
|
217
222
|
- spec/moneta/transformer_yaml_spec.rb
|
218
223
|
- spec/moneta/transformer_zlib_spec.rb
|
219
224
|
- spec/monetaspecs.rb
|
@@ -243,8 +248,8 @@ rubyforge_project:
|
|
243
248
|
rubygems_version: 1.8.24
|
244
249
|
signing_key:
|
245
250
|
specification_version: 3
|
246
|
-
summary: A unified interface to key/value stores, including
|
247
|
-
and
|
251
|
+
summary: A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet,
|
252
|
+
ActiveRecord and many more
|
248
253
|
test_files:
|
249
254
|
- spec/action_dispatch/fixtures/session_autoload_test/foo.rb
|
250
255
|
- spec/action_dispatch/session_moneta_store_spec.rb
|
@@ -353,6 +358,8 @@ test_files:
|
|
353
358
|
- spec/moneta/transformer_bson_spec.rb
|
354
359
|
- spec/moneta/transformer_bzip2_spec.rb
|
355
360
|
- spec/moneta/transformer_json_spec.rb
|
361
|
+
- spec/moneta/transformer_key_marshal_spec.rb
|
362
|
+
- spec/moneta/transformer_key_yaml_spec.rb
|
356
363
|
- spec/moneta/transformer_lzma_spec.rb
|
357
364
|
- spec/moneta/transformer_lzo_spec.rb
|
358
365
|
- spec/moneta/transformer_marshal_base64_spec.rb
|
@@ -366,6 +373,7 @@ test_files:
|
|
366
373
|
- spec/moneta/transformer_marshal_sha256_spec.rb
|
367
374
|
- spec/moneta/transformer_marshal_sha384_spec.rb
|
368
375
|
- spec/moneta/transformer_marshal_sha512_spec.rb
|
376
|
+
- spec/moneta/transformer_marshal_spec.rb
|
369
377
|
- spec/moneta/transformer_marshal_truncate_spec.rb
|
370
378
|
- spec/moneta/transformer_marshal_uuencode_spec.rb
|
371
379
|
- spec/moneta/transformer_msgpack_spec.rb
|
@@ -373,6 +381,8 @@ test_files:
|
|
373
381
|
- spec/moneta/transformer_quicklz_spec.rb
|
374
382
|
- spec/moneta/transformer_snappy_spec.rb
|
375
383
|
- spec/moneta/transformer_tnet_spec.rb
|
384
|
+
- spec/moneta/transformer_value_marshal_spec.rb
|
385
|
+
- spec/moneta/transformer_value_yaml_spec.rb
|
376
386
|
- spec/moneta/transformer_yaml_spec.rb
|
377
387
|
- spec/moneta/transformer_zlib_spec.rb
|
378
388
|
- spec/monetaspecs.rb
|
data/lib/moneta/base.rb
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
module Moneta
|
2
|
-
# Simple interface to key/value stores with Hash-like interface.
|
3
|
-
# @api public
|
4
|
-
class Base
|
5
|
-
include Mixins::WithOptions
|
6
|
-
|
7
|
-
# Exists the value with key
|
8
|
-
#
|
9
|
-
# @param [Object] key
|
10
|
-
# @return [Boolean]
|
11
|
-
# @param [Hash] options
|
12
|
-
# @api public
|
13
|
-
def key?(key, options = {})
|
14
|
-
load(key, options) != nil
|
15
|
-
end
|
16
|
-
|
17
|
-
# Atomically increment integer value with key
|
18
|
-
#
|
19
|
-
# Not every Moneta store implements this method,
|
20
|
-
# a NotImplementedError if it is not supported.
|
21
|
-
#
|
22
|
-
# This method also accepts negative amounts.
|
23
|
-
#
|
24
|
-
# @param [Object] key
|
25
|
-
# @param [Integer] amount
|
26
|
-
# @param [Hash] options
|
27
|
-
# @return [Object] value from store
|
28
|
-
# @api public
|
29
|
-
def increment(key, amount = 1, options = {})
|
30
|
-
raise NotImplementedError, 'increment is not supported'
|
31
|
-
end
|
32
|
-
|
33
|
-
# Atomically decrement integer value with key
|
34
|
-
#
|
35
|
-
# This is just syntactic sugar for calling #increment with a negative value.
|
36
|
-
#
|
37
|
-
# This method also accepts negative amounts.
|
38
|
-
#
|
39
|
-
# @param [Object] key
|
40
|
-
# @param [Integer] amount
|
41
|
-
# @param [Hash] options
|
42
|
-
# @return [Object] value from store
|
43
|
-
# @api public
|
44
|
-
def decrement(key, amount = 1, options = {})
|
45
|
-
increment(key, -amount, options)
|
46
|
-
end
|
47
|
-
|
48
|
-
# Explicitly close the store
|
49
|
-
# @return nil
|
50
|
-
# @api public
|
51
|
-
def close
|
52
|
-
end
|
53
|
-
|
54
|
-
# Fetch value with key
|
55
|
-
#
|
56
|
-
# This is a overloaded method:
|
57
|
-
#
|
58
|
-
# * fetch(key, options = {}, &block) retrieve a key. if the key is not available, execute the
|
59
|
-
# block and return its return value.
|
60
|
-
#
|
61
|
-
# * fetch(key, value, options = {}) retrieve a key. if the key is not available, return the value.
|
62
|
-
#
|
63
|
-
# @param [Object] key
|
64
|
-
# @param [Object] default Default value
|
65
|
-
# @param [Hash] options
|
66
|
-
# @return [Object] value from store
|
67
|
-
# @api public
|
68
|
-
def fetch(key, default = nil, options = nil)
|
69
|
-
if block_given?
|
70
|
-
raise ArgumentError, 'Only one argument accepted if block is given' if options
|
71
|
-
result = load(key, default || {})
|
72
|
-
result == nil ? yield(key) : result
|
73
|
-
else
|
74
|
-
result = load(key, options || {})
|
75
|
-
result == nil ? default : result
|
76
|
-
end
|
77
|
-
end
|
78
|
-
|
79
|
-
# Fetch value with key. Return nil if the key doesn't exist
|
80
|
-
#
|
81
|
-
# @param [Object] key
|
82
|
-
# @return [Object] value
|
83
|
-
# @api public
|
84
|
-
def [](key)
|
85
|
-
load(key)
|
86
|
-
end
|
87
|
-
|
88
|
-
# Store value with key
|
89
|
-
#
|
90
|
-
# @param [Object] key
|
91
|
-
# @param [Object] value
|
92
|
-
# @return value
|
93
|
-
# @api public
|
94
|
-
def []=(key, value)
|
95
|
-
store(key, value)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
data/lib/moneta/net.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
module Moneta
|
2
|
-
# @api private
|
3
|
-
module Net
|
4
|
-
DEFAULT_PORT = 9000
|
5
|
-
|
6
|
-
class Error < RuntimeError; end
|
7
|
-
|
8
|
-
def pack(o)
|
9
|
-
s = Marshal.dump(o)
|
10
|
-
[s.bytesize].pack('N') << s
|
11
|
-
end
|
12
|
-
|
13
|
-
def read(io)
|
14
|
-
size = io.read(4).unpack('N').first
|
15
|
-
Marshal.load(io.read(size))
|
16
|
-
end
|
17
|
-
|
18
|
-
def write(io, o)
|
19
|
-
io.write(pack(o))
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|