moneta 0.7.1 → 0.7.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. data/.yardopts +1 -0
  2. data/CHANGES +21 -10
  3. data/README.md +1 -1
  4. data/SPEC.md +4 -12
  5. data/lib/moneta.rb +7 -5
  6. data/lib/moneta/adapters/activerecord.rb +9 -3
  7. data/lib/moneta/adapters/cassandra.rb +9 -4
  8. data/lib/moneta/adapters/client.rb +9 -3
  9. data/lib/moneta/adapters/cookie.rb +3 -0
  10. data/lib/moneta/adapters/couch.rb +8 -3
  11. data/lib/moneta/adapters/datamapper.rb +8 -3
  12. data/lib/moneta/adapters/dbm.rb +1 -2
  13. data/lib/moneta/adapters/file.rb +9 -4
  14. data/lib/moneta/adapters/fog.rb +8 -3
  15. data/lib/moneta/adapters/gdbm.rb +1 -2
  16. data/lib/moneta/adapters/hbase.rb +10 -3
  17. data/lib/moneta/adapters/leveldb.rb +3 -2
  18. data/lib/moneta/adapters/localmemcache.rb +4 -4
  19. data/lib/moneta/adapters/lruhash.rb +8 -4
  20. data/lib/moneta/adapters/memcached/dalli.rb +10 -4
  21. data/lib/moneta/adapters/memcached/native.rb +9 -4
  22. data/lib/moneta/adapters/memory.rb +8 -3
  23. data/lib/moneta/adapters/mongo.rb +7 -3
  24. data/lib/moneta/adapters/null.rb +8 -1
  25. data/lib/moneta/adapters/pstore.rb +9 -3
  26. data/lib/moneta/adapters/redis.rb +10 -4
  27. data/lib/moneta/adapters/riak.rb +12 -7
  28. data/lib/moneta/adapters/sdbm.rb +1 -2
  29. data/lib/moneta/adapters/sequel.rb +9 -3
  30. data/lib/moneta/adapters/sqlite.rb +10 -4
  31. data/lib/moneta/adapters/tokyocabinet.rb +2 -2
  32. data/lib/moneta/builder.rb +11 -7
  33. data/lib/moneta/cache.rb +16 -6
  34. data/lib/moneta/expires.rb +12 -6
  35. data/lib/moneta/lock.rb +0 -2
  36. data/lib/moneta/logger.rb +0 -2
  37. data/lib/moneta/mixins.rb +175 -47
  38. data/lib/moneta/optionmerger.rb +2 -0
  39. data/lib/moneta/proxy.rb +14 -30
  40. data/lib/moneta/server.rb +0 -2
  41. data/lib/moneta/shared.rb +1 -3
  42. data/lib/moneta/stack.rb +20 -10
  43. data/lib/moneta/transformer.rb +84 -61
  44. data/lib/moneta/version.rb +1 -1
  45. data/lib/rack/moneta_rest.rb +56 -0
  46. data/moneta.gemspec +1 -1
  47. data/spec/active_support/cache_moneta_store_spec.rb +4 -4
  48. data/spec/generate.rb +216 -203
  49. data/spec/helper.rb +0 -6
  50. data/spec/moneta/adapter_cassandra_spec.rb +2 -2
  51. data/spec/moneta/adapter_datamapper_spec.rb +1 -1
  52. data/spec/moneta/adapter_lruhash_spec.rb +1 -1
  53. data/spec/moneta/adapter_memcached_dalli_spec.rb +2 -2
  54. data/spec/moneta/adapter_memcached_native_spec.rb +2 -2
  55. data/spec/moneta/adapter_memcached_spec.rb +2 -2
  56. data/spec/moneta/adapter_redis_spec.rb +2 -2
  57. data/spec/moneta/cache_file_memory_spec.rb +3 -3
  58. data/spec/moneta/expires_file_spec.rb +4 -4
  59. data/spec/moneta/expires_memory_spec.rb +2 -2
  60. data/spec/moneta/optionmerger_spec.rb +6 -6
  61. data/spec/moneta/shared_spec.rb +1 -1
  62. data/spec/moneta/simple_client_tcp_spec.rb +1 -1
  63. data/spec/moneta/transformer_key_marshal_spec.rb +109 -0
  64. data/spec/moneta/transformer_key_yaml_spec.rb +109 -0
  65. data/spec/moneta/transformer_marshal_spec.rb +109 -0
  66. data/spec/moneta/transformer_value_marshal_spec.rb +109 -0
  67. data/spec/moneta/transformer_value_yaml_spec.rb +109 -0
  68. data/spec/monetaspecs.rb +14460 -3956
  69. metadata +16 -6
  70. data/lib/moneta/base.rb +0 -98
  71. 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.1
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-24 00:00:00.000000000 Z
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 MongoDB, Redis, Tokyo,
247
- and ActiveRecord
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