moneta 0.7.1 → 0.7.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|