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.
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