juno 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -277
- data/juno.gemspec +6 -5
- data/lib/juno.rb +3 -122
- metadata +23 -307
- data/.gitignore +0 -6
- data/.travis.yml +0 -30
- data/Gemfile +0 -56
- data/LICENSE +0 -20
- data/Rakefile +0 -33
- data/SPEC.md +0 -71
- data/benchmarks/run.rb +0 -180
- data/lib/juno/adapters/activerecord.rb +0 -74
- data/lib/juno/adapters/cassandra.rb +0 -89
- data/lib/juno/adapters/cookie.rb +0 -35
- data/lib/juno/adapters/couch.rb +0 -57
- data/lib/juno/adapters/datamapper.rb +0 -76
- data/lib/juno/adapters/dbm.rb +0 -25
- data/lib/juno/adapters/file.rb +0 -60
- data/lib/juno/adapters/fog.rb +0 -51
- data/lib/juno/adapters/gdbm.rb +0 -25
- data/lib/juno/adapters/hbase.rb +0 -64
- data/lib/juno/adapters/leveldb.rb +0 -35
- data/lib/juno/adapters/localmemcache.rb +0 -26
- data/lib/juno/adapters/lruhash.rb +0 -83
- data/lib/juno/adapters/memcached.rb +0 -11
- data/lib/juno/adapters/memcached_dalli.rb +0 -51
- data/lib/juno/adapters/memcached_native.rb +0 -52
- data/lib/juno/adapters/memory.rb +0 -32
- data/lib/juno/adapters/mongo.rb +0 -50
- data/lib/juno/adapters/null.rb +0 -30
- data/lib/juno/adapters/pstore.rb +0 -58
- data/lib/juno/adapters/redis.rb +0 -56
- data/lib/juno/adapters/riak.rb +0 -57
- data/lib/juno/adapters/sdbm.rb +0 -35
- data/lib/juno/adapters/sequel.rb +0 -67
- data/lib/juno/adapters/sqlite.rb +0 -61
- data/lib/juno/adapters/tokyocabinet.rb +0 -41
- data/lib/juno/adapters/yaml.rb +0 -15
- data/lib/juno/base.rb +0 -62
- data/lib/juno/builder.rb +0 -39
- data/lib/juno/cache.rb +0 -78
- data/lib/juno/expires.rb +0 -47
- data/lib/juno/lock.rb +0 -44
- data/lib/juno/logger.rb +0 -86
- data/lib/juno/proxy.rb +0 -72
- data/lib/juno/stack.rb +0 -72
- data/lib/juno/transformer.rb +0 -176
- data/lib/juno/version.rb +0 -5
- data/lib/rack/cache/juno.rb +0 -93
- data/lib/rack/juno_cookies.rb +0 -64
- data/lib/rack/session/juno.rb +0 -63
- data/spec/generate.rb +0 -1068
- data/spec/helper.rb +0 -78
- data/spec/juno/adapter_activerecord_spec.rb +0 -27
- data/spec/juno/adapter_cassandra_spec.rb +0 -13
- data/spec/juno/adapter_cookie_spec.rb +0 -13
- data/spec/juno/adapter_couch_spec.rb +0 -13
- data/spec/juno/adapter_datamapper_spec.rb +0 -44
- data/spec/juno/adapter_dbm_spec.rb +0 -13
- data/spec/juno/adapter_file_spec.rb +0 -13
- data/spec/juno/adapter_fog_spec.rb +0 -18
- data/spec/juno/adapter_gdbm_spec.rb +0 -13
- data/spec/juno/adapter_hbase_spec.rb +0 -13
- data/spec/juno/adapter_leveldb_spec.rb +0 -13
- data/spec/juno/adapter_localmemcache_spec.rb +0 -13
- data/spec/juno/adapter_lruhash_spec.rb +0 -26
- data/spec/juno/adapter_memcached_dalli_spec.rb +0 -14
- data/spec/juno/adapter_memcached_native_spec.rb +0 -14
- data/spec/juno/adapter_memcached_spec.rb +0 -14
- data/spec/juno/adapter_memory_spec.rb +0 -34
- data/spec/juno/adapter_mongo_spec.rb +0 -13
- data/spec/juno/adapter_pstore_spec.rb +0 -16
- data/spec/juno/adapter_redis_spec.rb +0 -14
- data/spec/juno/adapter_riak_spec.rb +0 -17
- data/spec/juno/adapter_sdbm_spec.rb +0 -13
- data/spec/juno/adapter_sequel_spec.rb +0 -13
- data/spec/juno/adapter_sqlite_spec.rb +0 -13
- data/spec/juno/adapter_tokyocabinet_bdb_spec.rb +0 -13
- data/spec/juno/adapter_tokyocabinet_hdb_spec.rb +0 -13
- data/spec/juno/adapter_yaml_spec.rb +0 -16
- data/spec/juno/cache_file_memory_spec.rb +0 -29
- data/spec/juno/cache_memory_null_spec.rb +0 -18
- data/spec/juno/expires_file_spec.rb +0 -71
- data/spec/juno/expires_memory_spec.rb +0 -49
- data/spec/juno/lock_spec.rb +0 -37
- data/spec/juno/null_adapter_spec.rb +0 -22
- data/spec/juno/proxy_expires_memory_spec.rb +0 -51
- data/spec/juno/proxy_redis_spec.rb +0 -18
- data/spec/juno/simple_activerecord_spec.rb +0 -45
- data/spec/juno/simple_activerecord_with_expires_spec.rb +0 -46
- data/spec/juno/simple_cassandra_spec.rb +0 -46
- data/spec/juno/simple_couch_spec.rb +0 -45
- data/spec/juno/simple_couch_with_expires_spec.rb +0 -46
- data/spec/juno/simple_datamapper_spec.rb +0 -47
- data/spec/juno/simple_datamapper_with_expires_spec.rb +0 -48
- data/spec/juno/simple_datamapper_with_repository_spec.rb +0 -47
- data/spec/juno/simple_dbm_spec.rb +0 -45
- data/spec/juno/simple_dbm_with_expires_spec.rb +0 -46
- data/spec/juno/simple_file_spec.rb +0 -45
- data/spec/juno/simple_file_with_expires_spec.rb +0 -46
- data/spec/juno/simple_fog_spec.rb +0 -50
- data/spec/juno/simple_fog_with_expires_spec.rb +0 -52
- data/spec/juno/simple_gdbm_spec.rb +0 -45
- data/spec/juno/simple_gdbm_with_expires_spec.rb +0 -46
- data/spec/juno/simple_hashfile_spec.rb +0 -45
- data/spec/juno/simple_hashfile_with_expires_spec.rb +0 -46
- data/spec/juno/simple_hbase_spec.rb +0 -45
- data/spec/juno/simple_hbase_with_expires_spec.rb +0 -46
- data/spec/juno/simple_leveldb_spec.rb +0 -45
- data/spec/juno/simple_leveldb_with_expires_spec.rb +0 -46
- data/spec/juno/simple_localmemcache_spec.rb +0 -45
- data/spec/juno/simple_localmemcache_with_expires_spec.rb +0 -46
- data/spec/juno/simple_lruhash_spec.rb +0 -45
- data/spec/juno/simple_lruhash_with_expires_spec.rb +0 -46
- data/spec/juno/simple_memcached_dalli_spec.rb +0 -46
- data/spec/juno/simple_memcached_native_spec.rb +0 -46
- data/spec/juno/simple_memcached_spec.rb +0 -46
- data/spec/juno/simple_memory_spec.rb +0 -45
- data/spec/juno/simple_memory_with_compress_spec.rb +0 -45
- data/spec/juno/simple_memory_with_expires_spec.rb +0 -46
- data/spec/juno/simple_memory_with_json_key_serializer_spec.rb +0 -32
- data/spec/juno/simple_memory_with_json_md5_key_serializer_spec.rb +0 -32
- data/spec/juno/simple_memory_with_json_serializer_spec.rb +0 -22
- data/spec/juno/simple_memory_with_json_value_serializer_spec.rb +0 -29
- data/spec/juno/simple_memory_with_prefix_spec.rb +0 -45
- data/spec/juno/simple_memory_with_quicklz_compress_spec.rb +0 -45
- data/spec/juno/simple_mongo_spec.rb +0 -45
- data/spec/juno/simple_mongo_with_expires_spec.rb +0 -46
- data/spec/juno/simple_null_spec.rb +0 -32
- data/spec/juno/simple_pstore_spec.rb +0 -45
- data/spec/juno/simple_pstore_with_expires_spec.rb +0 -46
- data/spec/juno/simple_redis_spec.rb +0 -46
- data/spec/juno/simple_riak_spec.rb +0 -49
- data/spec/juno/simple_riak_with_expires_spec.rb +0 -50
- data/spec/juno/simple_sdbm_spec.rb +0 -45
- data/spec/juno/simple_sdbm_with_expires_spec.rb +0 -46
- data/spec/juno/simple_sequel_spec.rb +0 -45
- data/spec/juno/simple_sequel_with_expires_spec.rb +0 -46
- data/spec/juno/simple_sqlite_spec.rb +0 -45
- data/spec/juno/simple_sqlite_with_expires_spec.rb +0 -46
- data/spec/juno/simple_tokyocabinet_spec.rb +0 -45
- data/spec/juno/simple_tokyocabinet_with_expires_spec.rb +0 -46
- data/spec/juno/simple_yaml_spec.rb +0 -44
- data/spec/juno/simple_yaml_with_expires_spec.rb +0 -45
- data/spec/juno/stack_file_memory_spec.rb +0 -20
- data/spec/juno/stack_memory_file_spec.rb +0 -19
- data/spec/juno/transformer_bencode_spec.rb +0 -25
- data/spec/juno/transformer_bert_spec.rb +0 -25
- data/spec/juno/transformer_bson_spec.rb +0 -25
- data/spec/juno/transformer_bzip2_spec.rb +0 -22
- data/spec/juno/transformer_json_spec.rb +0 -25
- data/spec/juno/transformer_lzma_spec.rb +0 -22
- data/spec/juno/transformer_lzo_spec.rb +0 -22
- data/spec/juno/transformer_marshal_base64_spec.rb +0 -48
- data/spec/juno/transformer_marshal_escape_spec.rb +0 -48
- data/spec/juno/transformer_marshal_hmac_spec.rb +0 -48
- data/spec/juno/transformer_marshal_md5_spec.rb +0 -48
- data/spec/juno/transformer_marshal_md5_spread_spec.rb +0 -48
- data/spec/juno/transformer_marshal_prefix_spec.rb +0 -48
- data/spec/juno/transformer_marshal_rmd160_spec.rb +0 -48
- data/spec/juno/transformer_marshal_sha1_spec.rb +0 -48
- data/spec/juno/transformer_marshal_sha256_spec.rb +0 -48
- data/spec/juno/transformer_marshal_sha384_spec.rb +0 -48
- data/spec/juno/transformer_marshal_sha512_spec.rb +0 -48
- data/spec/juno/transformer_marshal_uuencode_spec.rb +0 -48
- data/spec/juno/transformer_msgpack_spec.rb +0 -25
- data/spec/juno/transformer_ox_spec.rb +0 -46
- data/spec/juno/transformer_quicklz_spec.rb +0 -22
- data/spec/juno/transformer_snappy_spec.rb +0 -22
- data/spec/juno/transformer_tnet_spec.rb +0 -25
- data/spec/juno/transformer_yaml_spec.rb +0 -46
- data/spec/juno/transformer_zlib_spec.rb +0 -22
- data/spec/junospecs.rb +0 -2284
- data/spec/rack/cache_juno_spec.rb +0 -355
- data/spec/rack/juno_cookies_spec.rb +0 -81
- data/spec/rack/session_juno_spec.rb +0 -305
data/README.md
CHANGED
@@ -1,277 +1,2 @@
|
|
1
|
-
Juno
|
2
|
-
|
3
|
-
|
4
|
-
[![Build Status](https://secure.travis-ci.org/minad/juno.png?branch=master)](http://travis-ci.org/minad/juno) [![Dependency Status](https://gemnasium.com/minad/juno.png?travis)](https://gemnasium.com/minad/juno) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/minad/juno)
|
5
|
-
|
6
|
-
Juno provides a standard interface for interacting with various kinds of key/value stores. Juno
|
7
|
-
is based on Moneta and replaces it with a mostly compatible interface. The reason for the
|
8
|
-
fork was that Moneta was unmaintained for a long time.
|
9
|
-
|
10
|
-
Juno is very feature rich:
|
11
|
-
|
12
|
-
* Supports a lot of backends (See below)
|
13
|
-
* Supports proxies (Similar to [Rack middlewares](http://rack.github.com/))
|
14
|
-
* Custom serialization via `Juno::Transformer` proxy (Marshal/JSON/YAML and many more)
|
15
|
-
* Custom key transformation via `Juno::Transformer` proxy
|
16
|
-
* Value compression via `Juno::Transformer` proxy (Zlib, Snappy, QuickLZ, LZO)
|
17
|
-
* Expiration for all stores (Added via proxy `Juno::Expires` if not supported natively)
|
18
|
-
* Integration with [Rack](http://rack.github.com/) as cookie and session store and [Rack-Cache](https://github.com/rtomayko/rack-cache)
|
19
|
-
|
20
|
-
Juno is tested thoroughly using [Travis-CI](http://travis-ci.org/minad/juno).
|
21
|
-
|
22
|
-
Supported backends
|
23
|
-
------------------
|
24
|
-
|
25
|
-
Out of the box, it supports the following backends:
|
26
|
-
|
27
|
-
* Memory:
|
28
|
-
* In-memory store (`:Memory`)
|
29
|
-
* LRU hash - prefer this over :Memory! (`:LRUHash`)
|
30
|
-
* LocalMemCache (`:LocalMemCache`)
|
31
|
-
* Memcached store (`:Memcached`, `:MemcachedNative` and `:MemcachedDalli`)
|
32
|
-
* Relational Databases:
|
33
|
-
* DataMapper (`:DataMapper`)
|
34
|
-
* ActiveRecord (`:ActiveRecord`)
|
35
|
-
* Sequel (`:Sequel`)
|
36
|
-
* Sqlite3 (`:Sqlite`)
|
37
|
-
* Filesystem:
|
38
|
-
* PStore (`:PStore`)
|
39
|
-
* YAML store (`:YAML`)
|
40
|
-
* Filesystem directory store (`:File`)
|
41
|
-
* Filesystem directory store which spreads files in subdirectories using md5 hash (`:HashFile`)
|
42
|
-
* Key/value databases:
|
43
|
-
* Berkeley DB (`:DBM`)
|
44
|
-
* Cassandra (`:Cassandra`)
|
45
|
-
* GDBM (`:GDBM`)
|
46
|
-
* HBase (`:HBase`)
|
47
|
-
* LevelDB (`:LevelDB`)
|
48
|
-
* Redis (`:Redis`)
|
49
|
-
* Riak (`:Riak`)
|
50
|
-
* SDBM (`:SDBM`)
|
51
|
-
* TokyoCabinet (`:TokyoCabinet`)
|
52
|
-
* Document databases:
|
53
|
-
* CouchDB (`:Couch`)
|
54
|
-
* MongoDB (`:Mongo`)
|
55
|
-
* Other
|
56
|
-
* Fog cloud storage which supports Amazon S3, Rackspace, etc. (`:Fog`)
|
57
|
-
* Storage which doesn't store anything (`:Null`)
|
58
|
-
|
59
|
-
Some of the backends are not exactly based on key/value stores, e.g. the relational ones. These
|
60
|
-
are useful if you already use the corresponding backend in your application. You get a key/value
|
61
|
-
store for free then without installing any additional services and you still have the possibility
|
62
|
-
to upgrade to a real key/value store.
|
63
|
-
|
64
|
-
Proxies
|
65
|
-
-------
|
66
|
-
|
67
|
-
In addition it supports proxies (Similar to [Rack middlewares](http://rack.github.com/)) which
|
68
|
-
add additional features to storage backends:
|
69
|
-
|
70
|
-
* `Juno::Proxy` proxy base class
|
71
|
-
* `Juno::Expires` to add expiration support to stores which don't support it natively. Add it in the builder using `use :Expires`.
|
72
|
-
* `Juno::Stack` to stack multiple stores (Read returns result from first where the key is found, writes go to all stores). Add it in the builder using `use :Stack`.
|
73
|
-
* `Juno::Transformer` transforms keys and values (Marshal, YAML, JSON, Base64, MD5, ...). Add it in the builder using `use :Transformer`.
|
74
|
-
* `Juno::Cache` combine two stores, one as backend and one as cache (e.g. `Juno::Adapters::File` + `Juno::Adapters::Memory`). Add it in the builder using `use :Cache`.
|
75
|
-
* `Juno::Lock` to make store thread safe. Add it in the builder using `use :Lock`.
|
76
|
-
* `Juno::Logger` to log database accesses. Add it in the builder using `use :Logger`.
|
77
|
-
|
78
|
-
The Juno API is purposely extremely similar to the Hash API. In order so support an
|
79
|
-
identical API across stores, it does not support iteration or partial matches.
|
80
|
-
|
81
|
-
Supported serializers and compressors (`Juno::Transformer`)
|
82
|
-
-----------------------------------------------------------
|
83
|
-
|
84
|
-
Supported serializers:
|
85
|
-
|
86
|
-
* BEncode (`:bencode`)
|
87
|
-
* BERT (`:bert`)
|
88
|
-
* BSON (`:bson`)
|
89
|
-
* JSON (`:json`)
|
90
|
-
* Marshal (`:marshal`)
|
91
|
-
* MessagePack (`:msgpack`)
|
92
|
-
* Ox (`:ox`)
|
93
|
-
* TNetStrings (`:tnet`)
|
94
|
-
* YAML (`:yaml`)
|
95
|
-
|
96
|
-
Supported value compressors:
|
97
|
-
|
98
|
-
* LZMA (`:lzma`)
|
99
|
-
* LZO (`:lzo`)
|
100
|
-
* Snappy (`:snappy`)
|
101
|
-
* QuickLZ (`:quicklz`)
|
102
|
-
* Zlib (`:zlib`)
|
103
|
-
|
104
|
-
Special transformers:
|
105
|
-
|
106
|
-
* Digests (MD5, Shas, ...)
|
107
|
-
* Add prefix to keys (`:prefix`)
|
108
|
-
* HMAC to verify values (`:hmac`, useful for `Rack::JunoCookies`)
|
109
|
-
|
110
|
-
Links
|
111
|
-
-----
|
112
|
-
|
113
|
-
* Source: <http://github.com/minad/juno>
|
114
|
-
* Bugs: <http://github.com/minad/juno/issues>
|
115
|
-
* API documentation:
|
116
|
-
* Latest Gem: <http://rubydoc.info/gems/juno/frames>
|
117
|
-
* GitHub master: <http://rubydoc.info/github/minad/juno/master/frames>
|
118
|
-
|
119
|
-
Juno API
|
120
|
-
--------
|
121
|
-
|
122
|
-
~~~
|
123
|
-
#initialize(options) options differs per-store, and is used to set up the store
|
124
|
-
|
125
|
-
#[](key) retrieve a key. if the key is not available, return nil
|
126
|
-
|
127
|
-
#load(key, options = {}) retrieve a key. if the key is not available, return nil
|
128
|
-
|
129
|
-
#fetch(key, options = {}, &block) retrieve a key. if the key is not available, execute the
|
130
|
-
block and return its return value.
|
131
|
-
|
132
|
-
#fetch(key, value, options = {}) retrieve a key. if the key is not available, return the value
|
133
|
-
|
134
|
-
#[]=(key, value) set a value for a key. if the key is already used, clobber it.
|
135
|
-
keys set using []= will never expire
|
136
|
-
|
137
|
-
#delete(key, options = {}) delete the key from the store and return the current value
|
138
|
-
|
139
|
-
#key?(key, options = {}) true if the key exists, false if it does not
|
140
|
-
|
141
|
-
#store(key, value, options = {}) same as []=, but you can supply options
|
142
|
-
|
143
|
-
#clear(options = {}) clear all keys in this store
|
144
|
-
|
145
|
-
#close close database connection
|
146
|
-
~~~
|
147
|
-
|
148
|
-
Creating a Store
|
149
|
-
----------------
|
150
|
-
|
151
|
-
There is a simple interface to create a store using `Juno.new`:
|
152
|
-
|
153
|
-
~~~ ruby
|
154
|
-
store = Juno.new(:Memcached, :server => 'localhost:11211')
|
155
|
-
~~~
|
156
|
-
|
157
|
-
If you want to have control over the proxies, you have to use `Juno.build`:
|
158
|
-
|
159
|
-
~~~ ruby
|
160
|
-
store = Juno.build do
|
161
|
-
# Adds expires proxy
|
162
|
-
use :Expires
|
163
|
-
# Transform key using Marshal and Base64 and value using Marshal
|
164
|
-
use :Transformer, :key => [:marshal, :base64], :value => :marshal
|
165
|
-
# Memory backend
|
166
|
-
adapter :Memory
|
167
|
-
end
|
168
|
-
~~~
|
169
|
-
|
170
|
-
Expiration
|
171
|
-
----------
|
172
|
-
|
173
|
-
The Cassandra, Memcached and Redis backends supports expires values directly:
|
174
|
-
|
175
|
-
~~~ ruby
|
176
|
-
cache = Juno::Adapters::Memcached.new
|
177
|
-
|
178
|
-
# Or using the builder...
|
179
|
-
cache = Juno.build do
|
180
|
-
adapter :Memcached
|
181
|
-
end
|
182
|
-
|
183
|
-
# Expires in 60 seconds
|
184
|
-
cache.store(key, value, :expires => 60)
|
185
|
-
|
186
|
-
# Update expires time if value is found
|
187
|
-
cache.load(key, :expires => 30)
|
188
|
-
cache.key?(key, :expires => 30)
|
189
|
-
~~~
|
190
|
-
|
191
|
-
You can add the expires feature to other backends using the Expires proxy:
|
192
|
-
|
193
|
-
~~~ ruby
|
194
|
-
# Using the :expires option
|
195
|
-
cache = Juno.new(:File, :dir => '...', :expires => true)
|
196
|
-
|
197
|
-
# or manually by using the proxy...
|
198
|
-
cache = Juno::Expires.new(Juno::Adapters::File.new(:dir => '...'))
|
199
|
-
|
200
|
-
# or using the builder...
|
201
|
-
cache = Juno.build do
|
202
|
-
use :Expires
|
203
|
-
adapter :File, :dir => '...'
|
204
|
-
end
|
205
|
-
~~~
|
206
|
-
|
207
|
-
Framework Integration
|
208
|
-
---------------------
|
209
|
-
|
210
|
-
Inspired by [redis-store](https://github.com/jodosha/redis-store) there exist integration classes for [Rack](http://rack.github.com/) and [Rack-Cache](https://github.com/rtomayko/rack-cache).
|
211
|
-
|
212
|
-
Use Juno as a [Rack](http://rack.github.com/) session store:
|
213
|
-
|
214
|
-
~~~ ruby
|
215
|
-
require 'rack/session/juno'
|
216
|
-
|
217
|
-
use Rack::Session::Juno, :store => :Redis
|
218
|
-
use Rack::Session::Juno, :store => Juno.new(:Memory, :expires => true)
|
219
|
-
|
220
|
-
use Rack::Session::Juno do
|
221
|
-
use :Expires
|
222
|
-
adapter :Memory
|
223
|
-
end
|
224
|
-
~~~
|
225
|
-
|
226
|
-
Use Juno as a [Rack-Cache](https://github.com/rtomayko/rack-cache) store:
|
227
|
-
|
228
|
-
~~~ ruby
|
229
|
-
require 'rack/cache/juno'
|
230
|
-
|
231
|
-
use Rack::Cache,
|
232
|
-
:metastore => 'juno://Memory?expires=true',
|
233
|
-
:entitystore => 'juno://Memory?expires=true'
|
234
|
-
|
235
|
-
# Or used named Juno stores
|
236
|
-
Rack::Cache::Juno['named_metastore'] = Juno.build do
|
237
|
-
use :Expires
|
238
|
-
adapter :Memory
|
239
|
-
end
|
240
|
-
use Rack::Cache,
|
241
|
-
:metastore => 'juno://named_metastore',
|
242
|
-
:entity_store => 'juno://named_entitystore'
|
243
|
-
~~~
|
244
|
-
|
245
|
-
Use Juno to store cookies in [Rack](http://rack.github.com/). It uses the `Juno::Adapters::Cookie`. You might
|
246
|
-
wonder what the purpose of this store or Rack middleware is: It makes it possible
|
247
|
-
to use all the transformers on the cookies (e.g. `:prefix`, `:marshal` and `:hmac` for value verification).
|
248
|
-
|
249
|
-
~~~ ruby
|
250
|
-
require 'rack/juno_cookies'
|
251
|
-
|
252
|
-
use Rack::JunoCookies, :domain => 'example.com', :path => '/path'
|
253
|
-
run lambda do |env|
|
254
|
-
req = Rack::Request.new(env)
|
255
|
-
req.cookies #=> is now a Juno store!
|
256
|
-
env['rack.request.cookie_hash'] #=> is now a Juno store!
|
257
|
-
req.cookies['key'] #=> retrieves 'key'
|
258
|
-
req.cookies['key'] = 'value' #=> sets 'key'
|
259
|
-
req.cookies.delete('key') #=> removes 'key'
|
260
|
-
[200, {}, []]
|
261
|
-
end
|
262
|
-
~~~
|
263
|
-
|
264
|
-
Alternatives
|
265
|
-
------------
|
266
|
-
|
267
|
-
* [Moneta](https://github.com/wycats/moneta): Juno is based on Moneta, but Juno supports more features and more backends and is actively developed
|
268
|
-
* [Horcrux](https://github.com/technoweenie/horcrux): Used at github, supports batch operations but only Memcached backend
|
269
|
-
* [ToyStore](https://github.com/jnunemaker/toystore): ORM mapper for key/value stores
|
270
|
-
* [ToyStore Adapter](https://github.com/jnunemaker/adapter): Adapter to key/value stores used by ToyStore, Juno can be used directly with the ToyStore Memory adapter
|
271
|
-
|
272
|
-
Authors
|
273
|
-
-------
|
274
|
-
|
275
|
-
* Daniel Mendler
|
276
|
-
* Hannes Georg
|
277
|
-
* Moneta originally by Yehuda Katz and contributors
|
1
|
+
Juno development moved to https://github.com/minad/moneta
|
2
|
+
=========================================================
|
data/juno.gemspec
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
require File.dirname(__FILE__) + '/lib/juno/version'
|
3
2
|
require 'date'
|
4
3
|
|
5
4
|
Gem::Specification.new do |s|
|
6
5
|
s.name = 'juno'
|
7
|
-
s.version =
|
6
|
+
s.version = '0.4.0'
|
8
7
|
s.date = Date.today.to_s
|
9
8
|
s.authors = ['Daniel Mendler', 'Hannes Georg']
|
10
9
|
s.email = %w{mail@daniel-mendler.de hannes.georg@googlemail.com}
|
11
|
-
s.description = '
|
12
|
-
s.extra_rdoc_files = %w{README.md
|
10
|
+
s.description = 'Replaced by http://rubygems.org/gems/moneta'
|
11
|
+
s.extra_rdoc_files = %w{README.md}
|
13
12
|
s.files = `git ls-files`.split("\n")
|
14
13
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
14
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
16
15
|
s.homepage = 'http://github.com/minad/juno'
|
17
16
|
s.require_paths = ['lib']
|
18
|
-
s.summary =
|
17
|
+
s.summary = 'http://rubygems.org/gems/moneta'
|
18
|
+
s.post_install_message = 'WARNING: The gem juno has been replaced by moneta'
|
19
|
+
s.add_runtime_dependency('moneta', ['> 0.6.0'])
|
19
20
|
end
|
data/lib/juno.rb
CHANGED
@@ -1,122 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
autoload :Cache, 'juno/cache'
|
5
|
-
autoload :Expires, 'juno/expires'
|
6
|
-
autoload :Lock, 'juno/lock'
|
7
|
-
autoload :Logger, 'juno/logger'
|
8
|
-
autoload :Proxy, 'juno/proxy'
|
9
|
-
autoload :Stack, 'juno/stack'
|
10
|
-
autoload :Transformer, 'juno/transformer'
|
11
|
-
|
12
|
-
module Adapters
|
13
|
-
autoload :ActiveRecord, 'juno/adapters/activerecord'
|
14
|
-
autoload :Cassandra, 'juno/adapters/cassandra'
|
15
|
-
autoload :Cookie, 'juno/adapters/cookie'
|
16
|
-
autoload :Couch, 'juno/adapters/couch'
|
17
|
-
autoload :DataMapper, 'juno/adapters/datamapper'
|
18
|
-
autoload :DBM, 'juno/adapters/dbm'
|
19
|
-
autoload :File, 'juno/adapters/file'
|
20
|
-
autoload :Fog, 'juno/adapters/fog'
|
21
|
-
autoload :GDBM, 'juno/adapters/gdbm'
|
22
|
-
autoload :HBase, 'juno/adapters/hbase'
|
23
|
-
autoload :LevelDB, 'juno/adapters/leveldb'
|
24
|
-
autoload :LocalMemCache, 'juno/adapters/localmemcache'
|
25
|
-
autoload :LRUHash, 'juno/adapters/lruhash'
|
26
|
-
autoload :Memcached, 'juno/adapters/memcached'
|
27
|
-
autoload :MemcachedDalli, 'juno/adapters/memcached_dalli'
|
28
|
-
autoload :MemcachedNative, 'juno/adapters/memcached_native'
|
29
|
-
autoload :Memory, 'juno/adapters/memory'
|
30
|
-
autoload :Mongo, 'juno/adapters/mongo'
|
31
|
-
autoload :Null, 'juno/adapters/null'
|
32
|
-
autoload :PStore, 'juno/adapters/pstore'
|
33
|
-
autoload :Redis, 'juno/adapters/redis'
|
34
|
-
autoload :Riak, 'juno/adapters/riak'
|
35
|
-
autoload :SDBM, 'juno/adapters/sdbm'
|
36
|
-
autoload :Sequel, 'juno/adapters/sequel'
|
37
|
-
autoload :Sqlite, 'juno/adapters/sqlite'
|
38
|
-
autoload :TokyoCabinet, 'juno/adapters/tokyocabinet'
|
39
|
-
autoload :YAML, 'juno/adapters/yaml'
|
40
|
-
end
|
41
|
-
|
42
|
-
# Create new Juno store with default proxies
|
43
|
-
# which works in most cases if you don't want fine
|
44
|
-
# control over the proxy chain. It uses Marshal on the
|
45
|
-
# keys and values. Use Juno#build if you want to have fine control!
|
46
|
-
#
|
47
|
-
# @param [Symbol] name Name of adapter (See Juno::Adapters)
|
48
|
-
# @param [Hash] options
|
49
|
-
#
|
50
|
-
# Options:
|
51
|
-
# * :expires - If true, ensure that store supports expiration by inserting
|
52
|
-
# Juno::Expires if the underlying adapter doesn't support it natively
|
53
|
-
# * :threadsafe - If true, ensure that the store is thread safe by inserting Juno::Lock
|
54
|
-
# * :logger - If true or Hash, add logger to chain (Hash is passed to logger as options)
|
55
|
-
# * :compress - If true, compress value with zlib, or specify custom compress, e.g. :quicklz
|
56
|
-
# * :serializer - Serializer used for key and value, disable with nil (default :marshal)
|
57
|
-
# * :key_serializer - Serializer used for key, disable with nil (default options[:serializer] if not provided)
|
58
|
-
# * :value_serializer - Serializer used for key, disable with nil (default options[:serializer] if not provided)
|
59
|
-
# * :prefix - Key prefix used for namespacing (default none)
|
60
|
-
# * All other options passed to the adapter
|
61
|
-
#
|
62
|
-
# Supported adapters:
|
63
|
-
# * :HashFile (Store which spreads the entries using a md5 hash, e.g. cache/42/391dd7535aebef91b823286ac67fcd)
|
64
|
-
# * :File (normal file store)
|
65
|
-
# * :Memcached (Memcached store)
|
66
|
-
# * ... (All other adapters from Juno::Adapters)
|
67
|
-
def self.new(name, options = {})
|
68
|
-
expires = options.delete(:expires)
|
69
|
-
logger = options.delete(:logger)
|
70
|
-
threadsafe = options.delete(:threadsafe)
|
71
|
-
compress = options.delete(:compress)
|
72
|
-
serializer = options.include?(:serializer) ? options.delete(:serializer) : :marshal
|
73
|
-
key_serializer = options.include?(:key_serializer) ? options.delete(:key_serializer) : serializer
|
74
|
-
value_serializer = options.include?(:value_serializer) ? options.delete(:value_serialiizer) : serializer
|
75
|
-
transformer = { :key => [key_serializer], :value => [value_serializer], :prefix => options.delete(:prefix) }
|
76
|
-
transformer[:key] << :prefix if transformer[:prefix]
|
77
|
-
transformer[:value] << (Symbol === compress ? compress : :zlib) if compress
|
78
|
-
raise ArgumentError, 'Name must be Symbol' unless Symbol === name
|
79
|
-
case name
|
80
|
-
when :Sequel, :ActiveRecord, :Couch, :DataMapper
|
81
|
-
# Sequel accept only base64 keys and values
|
82
|
-
# FIXME: Couch should work only with :marshal but this raises an error on 1.9
|
83
|
-
transformer[:key] << :base64
|
84
|
-
transformer[:value] << :base64
|
85
|
-
when :Memcached, :MemcachedDalli, :MemcachedNative
|
86
|
-
# Memcached accept only base64 keys, expires already supported
|
87
|
-
expires = false
|
88
|
-
transformer[:key] << :base64
|
89
|
-
when :PStore, :YAML, :Null
|
90
|
-
# For PStore and YAML only the key has to be a string
|
91
|
-
transformer.delete(:value) if transformer[:value] == [:marshal]
|
92
|
-
when :HashFile
|
93
|
-
# Use spreading hashes
|
94
|
-
transformer[:key] << :md5 << :spread
|
95
|
-
name = :File
|
96
|
-
when :File
|
97
|
-
# Use escaping
|
98
|
-
transformer[:key] << :escape
|
99
|
-
when :Cassandra, :Redis
|
100
|
-
# Expires already supported
|
101
|
-
expires = false
|
102
|
-
end
|
103
|
-
build do
|
104
|
-
use :Logger, Hash === logger ? logger : {} if logger
|
105
|
-
use :Expires if expires
|
106
|
-
use :Transformer, transformer
|
107
|
-
use :Lock if threadsafe
|
108
|
-
adapter name, options
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
# Build your own store chain!
|
113
|
-
#
|
114
|
-
# @example Juno builder
|
115
|
-
# Juno.build do
|
116
|
-
# use :Expires
|
117
|
-
# adapter :Memory
|
118
|
-
# end
|
119
|
-
def self.build(&block)
|
120
|
-
Builder.new(&block).build.last
|
121
|
-
end
|
122
|
-
end
|
1
|
+
puts 'WARNING: Juno has been renamed to Moneta'
|
2
|
+
require 'moneta'
|
3
|
+
Juno = Moneta
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: juno
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,9 +10,25 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-12-
|
14
|
-
dependencies:
|
15
|
-
|
13
|
+
date: 2012-12-23 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: moneta
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
19
|
+
requirements:
|
20
|
+
- - ! '>'
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.6.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>'
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 0.6.0
|
31
|
+
description: Replaced by http://rubygems.org/gems/moneta
|
16
32
|
email:
|
17
33
|
- mail@daniel-mendler.de
|
18
34
|
- hannes.georg@googlemail.com
|
@@ -20,187 +36,13 @@ executables: []
|
|
20
36
|
extensions: []
|
21
37
|
extra_rdoc_files:
|
22
38
|
- README.md
|
23
|
-
- SPEC.md
|
24
|
-
- LICENSE
|
25
39
|
files:
|
26
|
-
- .gitignore
|
27
|
-
- .travis.yml
|
28
|
-
- Gemfile
|
29
|
-
- LICENSE
|
30
40
|
- README.md
|
31
|
-
- Rakefile
|
32
|
-
- SPEC.md
|
33
|
-
- benchmarks/run.rb
|
34
41
|
- juno.gemspec
|
35
42
|
- lib/juno.rb
|
36
|
-
- lib/juno/adapters/activerecord.rb
|
37
|
-
- lib/juno/adapters/cassandra.rb
|
38
|
-
- lib/juno/adapters/cookie.rb
|
39
|
-
- lib/juno/adapters/couch.rb
|
40
|
-
- lib/juno/adapters/datamapper.rb
|
41
|
-
- lib/juno/adapters/dbm.rb
|
42
|
-
- lib/juno/adapters/file.rb
|
43
|
-
- lib/juno/adapters/fog.rb
|
44
|
-
- lib/juno/adapters/gdbm.rb
|
45
|
-
- lib/juno/adapters/hbase.rb
|
46
|
-
- lib/juno/adapters/leveldb.rb
|
47
|
-
- lib/juno/adapters/localmemcache.rb
|
48
|
-
- lib/juno/adapters/lruhash.rb
|
49
|
-
- lib/juno/adapters/memcached.rb
|
50
|
-
- lib/juno/adapters/memcached_dalli.rb
|
51
|
-
- lib/juno/adapters/memcached_native.rb
|
52
|
-
- lib/juno/adapters/memory.rb
|
53
|
-
- lib/juno/adapters/mongo.rb
|
54
|
-
- lib/juno/adapters/null.rb
|
55
|
-
- lib/juno/adapters/pstore.rb
|
56
|
-
- lib/juno/adapters/redis.rb
|
57
|
-
- lib/juno/adapters/riak.rb
|
58
|
-
- lib/juno/adapters/sdbm.rb
|
59
|
-
- lib/juno/adapters/sequel.rb
|
60
|
-
- lib/juno/adapters/sqlite.rb
|
61
|
-
- lib/juno/adapters/tokyocabinet.rb
|
62
|
-
- lib/juno/adapters/yaml.rb
|
63
|
-
- lib/juno/base.rb
|
64
|
-
- lib/juno/builder.rb
|
65
|
-
- lib/juno/cache.rb
|
66
|
-
- lib/juno/expires.rb
|
67
|
-
- lib/juno/lock.rb
|
68
|
-
- lib/juno/logger.rb
|
69
|
-
- lib/juno/proxy.rb
|
70
|
-
- lib/juno/stack.rb
|
71
|
-
- lib/juno/transformer.rb
|
72
|
-
- lib/juno/version.rb
|
73
|
-
- lib/rack/cache/juno.rb
|
74
|
-
- lib/rack/juno_cookies.rb
|
75
|
-
- lib/rack/session/juno.rb
|
76
|
-
- spec/generate.rb
|
77
|
-
- spec/helper.rb
|
78
|
-
- spec/juno/adapter_activerecord_spec.rb
|
79
|
-
- spec/juno/adapter_cassandra_spec.rb
|
80
|
-
- spec/juno/adapter_cookie_spec.rb
|
81
|
-
- spec/juno/adapter_couch_spec.rb
|
82
|
-
- spec/juno/adapter_datamapper_spec.rb
|
83
|
-
- spec/juno/adapter_dbm_spec.rb
|
84
|
-
- spec/juno/adapter_file_spec.rb
|
85
|
-
- spec/juno/adapter_fog_spec.rb
|
86
|
-
- spec/juno/adapter_gdbm_spec.rb
|
87
|
-
- spec/juno/adapter_hbase_spec.rb
|
88
|
-
- spec/juno/adapter_leveldb_spec.rb
|
89
|
-
- spec/juno/adapter_localmemcache_spec.rb
|
90
|
-
- spec/juno/adapter_lruhash_spec.rb
|
91
|
-
- spec/juno/adapter_memcached_dalli_spec.rb
|
92
|
-
- spec/juno/adapter_memcached_native_spec.rb
|
93
|
-
- spec/juno/adapter_memcached_spec.rb
|
94
|
-
- spec/juno/adapter_memory_spec.rb
|
95
|
-
- spec/juno/adapter_mongo_spec.rb
|
96
|
-
- spec/juno/adapter_pstore_spec.rb
|
97
|
-
- spec/juno/adapter_redis_spec.rb
|
98
|
-
- spec/juno/adapter_riak_spec.rb
|
99
|
-
- spec/juno/adapter_sdbm_spec.rb
|
100
|
-
- spec/juno/adapter_sequel_spec.rb
|
101
|
-
- spec/juno/adapter_sqlite_spec.rb
|
102
|
-
- spec/juno/adapter_tokyocabinet_bdb_spec.rb
|
103
|
-
- spec/juno/adapter_tokyocabinet_hdb_spec.rb
|
104
|
-
- spec/juno/adapter_yaml_spec.rb
|
105
|
-
- spec/juno/cache_file_memory_spec.rb
|
106
|
-
- spec/juno/cache_memory_null_spec.rb
|
107
|
-
- spec/juno/expires_file_spec.rb
|
108
|
-
- spec/juno/expires_memory_spec.rb
|
109
|
-
- spec/juno/lock_spec.rb
|
110
|
-
- spec/juno/null_adapter_spec.rb
|
111
|
-
- spec/juno/proxy_expires_memory_spec.rb
|
112
|
-
- spec/juno/proxy_redis_spec.rb
|
113
|
-
- spec/juno/simple_activerecord_spec.rb
|
114
|
-
- spec/juno/simple_activerecord_with_expires_spec.rb
|
115
|
-
- spec/juno/simple_cassandra_spec.rb
|
116
|
-
- spec/juno/simple_couch_spec.rb
|
117
|
-
- spec/juno/simple_couch_with_expires_spec.rb
|
118
|
-
- spec/juno/simple_datamapper_spec.rb
|
119
|
-
- spec/juno/simple_datamapper_with_expires_spec.rb
|
120
|
-
- spec/juno/simple_datamapper_with_repository_spec.rb
|
121
|
-
- spec/juno/simple_dbm_spec.rb
|
122
|
-
- spec/juno/simple_dbm_with_expires_spec.rb
|
123
|
-
- spec/juno/simple_file_spec.rb
|
124
|
-
- spec/juno/simple_file_with_expires_spec.rb
|
125
|
-
- spec/juno/simple_fog_spec.rb
|
126
|
-
- spec/juno/simple_fog_with_expires_spec.rb
|
127
|
-
- spec/juno/simple_gdbm_spec.rb
|
128
|
-
- spec/juno/simple_gdbm_with_expires_spec.rb
|
129
|
-
- spec/juno/simple_hashfile_spec.rb
|
130
|
-
- spec/juno/simple_hashfile_with_expires_spec.rb
|
131
|
-
- spec/juno/simple_hbase_spec.rb
|
132
|
-
- spec/juno/simple_hbase_with_expires_spec.rb
|
133
|
-
- spec/juno/simple_leveldb_spec.rb
|
134
|
-
- spec/juno/simple_leveldb_with_expires_spec.rb
|
135
|
-
- spec/juno/simple_localmemcache_spec.rb
|
136
|
-
- spec/juno/simple_localmemcache_with_expires_spec.rb
|
137
|
-
- spec/juno/simple_lruhash_spec.rb
|
138
|
-
- spec/juno/simple_lruhash_with_expires_spec.rb
|
139
|
-
- spec/juno/simple_memcached_dalli_spec.rb
|
140
|
-
- spec/juno/simple_memcached_native_spec.rb
|
141
|
-
- spec/juno/simple_memcached_spec.rb
|
142
|
-
- spec/juno/simple_memory_spec.rb
|
143
|
-
- spec/juno/simple_memory_with_compress_spec.rb
|
144
|
-
- spec/juno/simple_memory_with_expires_spec.rb
|
145
|
-
- spec/juno/simple_memory_with_json_key_serializer_spec.rb
|
146
|
-
- spec/juno/simple_memory_with_json_md5_key_serializer_spec.rb
|
147
|
-
- spec/juno/simple_memory_with_json_serializer_spec.rb
|
148
|
-
- spec/juno/simple_memory_with_json_value_serializer_spec.rb
|
149
|
-
- spec/juno/simple_memory_with_prefix_spec.rb
|
150
|
-
- spec/juno/simple_memory_with_quicklz_compress_spec.rb
|
151
|
-
- spec/juno/simple_mongo_spec.rb
|
152
|
-
- spec/juno/simple_mongo_with_expires_spec.rb
|
153
|
-
- spec/juno/simple_null_spec.rb
|
154
|
-
- spec/juno/simple_pstore_spec.rb
|
155
|
-
- spec/juno/simple_pstore_with_expires_spec.rb
|
156
|
-
- spec/juno/simple_redis_spec.rb
|
157
|
-
- spec/juno/simple_riak_spec.rb
|
158
|
-
- spec/juno/simple_riak_with_expires_spec.rb
|
159
|
-
- spec/juno/simple_sdbm_spec.rb
|
160
|
-
- spec/juno/simple_sdbm_with_expires_spec.rb
|
161
|
-
- spec/juno/simple_sequel_spec.rb
|
162
|
-
- spec/juno/simple_sequel_with_expires_spec.rb
|
163
|
-
- spec/juno/simple_sqlite_spec.rb
|
164
|
-
- spec/juno/simple_sqlite_with_expires_spec.rb
|
165
|
-
- spec/juno/simple_tokyocabinet_spec.rb
|
166
|
-
- spec/juno/simple_tokyocabinet_with_expires_spec.rb
|
167
|
-
- spec/juno/simple_yaml_spec.rb
|
168
|
-
- spec/juno/simple_yaml_with_expires_spec.rb
|
169
|
-
- spec/juno/stack_file_memory_spec.rb
|
170
|
-
- spec/juno/stack_memory_file_spec.rb
|
171
|
-
- spec/juno/transformer_bencode_spec.rb
|
172
|
-
- spec/juno/transformer_bert_spec.rb
|
173
|
-
- spec/juno/transformer_bson_spec.rb
|
174
|
-
- spec/juno/transformer_bzip2_spec.rb
|
175
|
-
- spec/juno/transformer_json_spec.rb
|
176
|
-
- spec/juno/transformer_lzma_spec.rb
|
177
|
-
- spec/juno/transformer_lzo_spec.rb
|
178
|
-
- spec/juno/transformer_marshal_base64_spec.rb
|
179
|
-
- spec/juno/transformer_marshal_escape_spec.rb
|
180
|
-
- spec/juno/transformer_marshal_hmac_spec.rb
|
181
|
-
- spec/juno/transformer_marshal_md5_spec.rb
|
182
|
-
- spec/juno/transformer_marshal_md5_spread_spec.rb
|
183
|
-
- spec/juno/transformer_marshal_prefix_spec.rb
|
184
|
-
- spec/juno/transformer_marshal_rmd160_spec.rb
|
185
|
-
- spec/juno/transformer_marshal_sha1_spec.rb
|
186
|
-
- spec/juno/transformer_marshal_sha256_spec.rb
|
187
|
-
- spec/juno/transformer_marshal_sha384_spec.rb
|
188
|
-
- spec/juno/transformer_marshal_sha512_spec.rb
|
189
|
-
- spec/juno/transformer_marshal_uuencode_spec.rb
|
190
|
-
- spec/juno/transformer_msgpack_spec.rb
|
191
|
-
- spec/juno/transformer_ox_spec.rb
|
192
|
-
- spec/juno/transformer_quicklz_spec.rb
|
193
|
-
- spec/juno/transformer_snappy_spec.rb
|
194
|
-
- spec/juno/transformer_tnet_spec.rb
|
195
|
-
- spec/juno/transformer_yaml_spec.rb
|
196
|
-
- spec/juno/transformer_zlib_spec.rb
|
197
|
-
- spec/junospecs.rb
|
198
|
-
- spec/rack/cache_juno_spec.rb
|
199
|
-
- spec/rack/juno_cookies_spec.rb
|
200
|
-
- spec/rack/session_juno_spec.rb
|
201
43
|
homepage: http://github.com/minad/juno
|
202
44
|
licenses: []
|
203
|
-
post_install_message:
|
45
|
+
post_install_message: ! 'WARNING: The gem juno has been replaced by moneta'
|
204
46
|
rdoc_options: []
|
205
47
|
require_paths:
|
206
48
|
- lib
|
@@ -221,131 +63,5 @@ rubyforge_project:
|
|
221
63
|
rubygems_version: 1.8.24
|
222
64
|
signing_key:
|
223
65
|
specification_version: 3
|
224
|
-
summary:
|
225
|
-
|
226
|
-
test_files:
|
227
|
-
- spec/generate.rb
|
228
|
-
- spec/helper.rb
|
229
|
-
- spec/juno/adapter_activerecord_spec.rb
|
230
|
-
- spec/juno/adapter_cassandra_spec.rb
|
231
|
-
- spec/juno/adapter_cookie_spec.rb
|
232
|
-
- spec/juno/adapter_couch_spec.rb
|
233
|
-
- spec/juno/adapter_datamapper_spec.rb
|
234
|
-
- spec/juno/adapter_dbm_spec.rb
|
235
|
-
- spec/juno/adapter_file_spec.rb
|
236
|
-
- spec/juno/adapter_fog_spec.rb
|
237
|
-
- spec/juno/adapter_gdbm_spec.rb
|
238
|
-
- spec/juno/adapter_hbase_spec.rb
|
239
|
-
- spec/juno/adapter_leveldb_spec.rb
|
240
|
-
- spec/juno/adapter_localmemcache_spec.rb
|
241
|
-
- spec/juno/adapter_lruhash_spec.rb
|
242
|
-
- spec/juno/adapter_memcached_dalli_spec.rb
|
243
|
-
- spec/juno/adapter_memcached_native_spec.rb
|
244
|
-
- spec/juno/adapter_memcached_spec.rb
|
245
|
-
- spec/juno/adapter_memory_spec.rb
|
246
|
-
- spec/juno/adapter_mongo_spec.rb
|
247
|
-
- spec/juno/adapter_pstore_spec.rb
|
248
|
-
- spec/juno/adapter_redis_spec.rb
|
249
|
-
- spec/juno/adapter_riak_spec.rb
|
250
|
-
- spec/juno/adapter_sdbm_spec.rb
|
251
|
-
- spec/juno/adapter_sequel_spec.rb
|
252
|
-
- spec/juno/adapter_sqlite_spec.rb
|
253
|
-
- spec/juno/adapter_tokyocabinet_bdb_spec.rb
|
254
|
-
- spec/juno/adapter_tokyocabinet_hdb_spec.rb
|
255
|
-
- spec/juno/adapter_yaml_spec.rb
|
256
|
-
- spec/juno/cache_file_memory_spec.rb
|
257
|
-
- spec/juno/cache_memory_null_spec.rb
|
258
|
-
- spec/juno/expires_file_spec.rb
|
259
|
-
- spec/juno/expires_memory_spec.rb
|
260
|
-
- spec/juno/lock_spec.rb
|
261
|
-
- spec/juno/null_adapter_spec.rb
|
262
|
-
- spec/juno/proxy_expires_memory_spec.rb
|
263
|
-
- spec/juno/proxy_redis_spec.rb
|
264
|
-
- spec/juno/simple_activerecord_spec.rb
|
265
|
-
- spec/juno/simple_activerecord_with_expires_spec.rb
|
266
|
-
- spec/juno/simple_cassandra_spec.rb
|
267
|
-
- spec/juno/simple_couch_spec.rb
|
268
|
-
- spec/juno/simple_couch_with_expires_spec.rb
|
269
|
-
- spec/juno/simple_datamapper_spec.rb
|
270
|
-
- spec/juno/simple_datamapper_with_expires_spec.rb
|
271
|
-
- spec/juno/simple_datamapper_with_repository_spec.rb
|
272
|
-
- spec/juno/simple_dbm_spec.rb
|
273
|
-
- spec/juno/simple_dbm_with_expires_spec.rb
|
274
|
-
- spec/juno/simple_file_spec.rb
|
275
|
-
- spec/juno/simple_file_with_expires_spec.rb
|
276
|
-
- spec/juno/simple_fog_spec.rb
|
277
|
-
- spec/juno/simple_fog_with_expires_spec.rb
|
278
|
-
- spec/juno/simple_gdbm_spec.rb
|
279
|
-
- spec/juno/simple_gdbm_with_expires_spec.rb
|
280
|
-
- spec/juno/simple_hashfile_spec.rb
|
281
|
-
- spec/juno/simple_hashfile_with_expires_spec.rb
|
282
|
-
- spec/juno/simple_hbase_spec.rb
|
283
|
-
- spec/juno/simple_hbase_with_expires_spec.rb
|
284
|
-
- spec/juno/simple_leveldb_spec.rb
|
285
|
-
- spec/juno/simple_leveldb_with_expires_spec.rb
|
286
|
-
- spec/juno/simple_localmemcache_spec.rb
|
287
|
-
- spec/juno/simple_localmemcache_with_expires_spec.rb
|
288
|
-
- spec/juno/simple_lruhash_spec.rb
|
289
|
-
- spec/juno/simple_lruhash_with_expires_spec.rb
|
290
|
-
- spec/juno/simple_memcached_dalli_spec.rb
|
291
|
-
- spec/juno/simple_memcached_native_spec.rb
|
292
|
-
- spec/juno/simple_memcached_spec.rb
|
293
|
-
- spec/juno/simple_memory_spec.rb
|
294
|
-
- spec/juno/simple_memory_with_compress_spec.rb
|
295
|
-
- spec/juno/simple_memory_with_expires_spec.rb
|
296
|
-
- spec/juno/simple_memory_with_json_key_serializer_spec.rb
|
297
|
-
- spec/juno/simple_memory_with_json_md5_key_serializer_spec.rb
|
298
|
-
- spec/juno/simple_memory_with_json_serializer_spec.rb
|
299
|
-
- spec/juno/simple_memory_with_json_value_serializer_spec.rb
|
300
|
-
- spec/juno/simple_memory_with_prefix_spec.rb
|
301
|
-
- spec/juno/simple_memory_with_quicklz_compress_spec.rb
|
302
|
-
- spec/juno/simple_mongo_spec.rb
|
303
|
-
- spec/juno/simple_mongo_with_expires_spec.rb
|
304
|
-
- spec/juno/simple_null_spec.rb
|
305
|
-
- spec/juno/simple_pstore_spec.rb
|
306
|
-
- spec/juno/simple_pstore_with_expires_spec.rb
|
307
|
-
- spec/juno/simple_redis_spec.rb
|
308
|
-
- spec/juno/simple_riak_spec.rb
|
309
|
-
- spec/juno/simple_riak_with_expires_spec.rb
|
310
|
-
- spec/juno/simple_sdbm_spec.rb
|
311
|
-
- spec/juno/simple_sdbm_with_expires_spec.rb
|
312
|
-
- spec/juno/simple_sequel_spec.rb
|
313
|
-
- spec/juno/simple_sequel_with_expires_spec.rb
|
314
|
-
- spec/juno/simple_sqlite_spec.rb
|
315
|
-
- spec/juno/simple_sqlite_with_expires_spec.rb
|
316
|
-
- spec/juno/simple_tokyocabinet_spec.rb
|
317
|
-
- spec/juno/simple_tokyocabinet_with_expires_spec.rb
|
318
|
-
- spec/juno/simple_yaml_spec.rb
|
319
|
-
- spec/juno/simple_yaml_with_expires_spec.rb
|
320
|
-
- spec/juno/stack_file_memory_spec.rb
|
321
|
-
- spec/juno/stack_memory_file_spec.rb
|
322
|
-
- spec/juno/transformer_bencode_spec.rb
|
323
|
-
- spec/juno/transformer_bert_spec.rb
|
324
|
-
- spec/juno/transformer_bson_spec.rb
|
325
|
-
- spec/juno/transformer_bzip2_spec.rb
|
326
|
-
- spec/juno/transformer_json_spec.rb
|
327
|
-
- spec/juno/transformer_lzma_spec.rb
|
328
|
-
- spec/juno/transformer_lzo_spec.rb
|
329
|
-
- spec/juno/transformer_marshal_base64_spec.rb
|
330
|
-
- spec/juno/transformer_marshal_escape_spec.rb
|
331
|
-
- spec/juno/transformer_marshal_hmac_spec.rb
|
332
|
-
- spec/juno/transformer_marshal_md5_spec.rb
|
333
|
-
- spec/juno/transformer_marshal_md5_spread_spec.rb
|
334
|
-
- spec/juno/transformer_marshal_prefix_spec.rb
|
335
|
-
- spec/juno/transformer_marshal_rmd160_spec.rb
|
336
|
-
- spec/juno/transformer_marshal_sha1_spec.rb
|
337
|
-
- spec/juno/transformer_marshal_sha256_spec.rb
|
338
|
-
- spec/juno/transformer_marshal_sha384_spec.rb
|
339
|
-
- spec/juno/transformer_marshal_sha512_spec.rb
|
340
|
-
- spec/juno/transformer_marshal_uuencode_spec.rb
|
341
|
-
- spec/juno/transformer_msgpack_spec.rb
|
342
|
-
- spec/juno/transformer_ox_spec.rb
|
343
|
-
- spec/juno/transformer_quicklz_spec.rb
|
344
|
-
- spec/juno/transformer_snappy_spec.rb
|
345
|
-
- spec/juno/transformer_tnet_spec.rb
|
346
|
-
- spec/juno/transformer_yaml_spec.rb
|
347
|
-
- spec/juno/transformer_zlib_spec.rb
|
348
|
-
- spec/junospecs.rb
|
349
|
-
- spec/rack/cache_juno_spec.rb
|
350
|
-
- spec/rack/juno_cookies_spec.rb
|
351
|
-
- spec/rack/session_juno_spec.rb
|
66
|
+
summary: http://rubygems.org/gems/moneta
|
67
|
+
test_files: []
|