elephas 3.0.1 → 4.0.0

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/doc/js/full_list.js CHANGED
@@ -17,6 +17,7 @@ function fullListSearch() {
17
17
  searchCache = [];
18
18
  $('#full_list li').each(function() {
19
19
  var link = $(this).find('.object_link a');
20
+ if (link.length === 0) return;
20
21
  var fullName = link.attr('title').split(' ')[0];
21
22
  searchCache.push({name:link.text(), fullName:fullName, node:$(this), link:link});
22
23
  });
@@ -41,7 +42,7 @@ function fullListSearch() {
41
42
  $('#full_list li').removeClass('found').each(function() {
42
43
 
43
44
  var link = $(this).find('.object_link a');
44
- link.text(link.text());
45
+ if (link.length > 0) link.text(link.text());
45
46
  });
46
47
  if (clicked) {
47
48
  clicked.parents('ul').each(function() {
@@ -110,6 +111,10 @@ clicked = null;
110
111
  function linkList() {
111
112
  $('#full_list li, #full_list li a:last').click(function(evt) {
112
113
  if ($(this).hasClass('toggle')) return true;
114
+ if ($(this).find('.object_link a').length === 0) {
115
+ $(this).children('a.toggle').click();
116
+ return false;
117
+ }
113
118
  if (this.tagName.toLowerCase() == "li") {
114
119
  var toggle = $(this).children('a.toggle');
115
120
  if (toggle.size() > 0 && evt.pageX < toggle.offset().left) {
data/doc/method_list.html CHANGED
@@ -48,281 +48,211 @@
48
48
 
49
49
  <li class="r1 ">
50
50
  <span class='object_link'><a href="Elephas/Entry.html#%3D%3D-instance_method" title="Elephas::Entry#== (method)">#==</a></span>
51
-
52
- <small>Elephas::Entry</small>
53
-
51
+ <small>Elephas::Entry</small>
54
52
  </li>
55
53
 
56
54
 
57
55
  <li class="r2 ">
58
56
  <span class='object_link'><a href="Elephas/Cache.html#backend-instance_method" title="Elephas::Cache#backend (method)">#backend</a></span>
59
-
60
- <small>Elephas::Cache</small>
61
-
57
+ <small>Elephas::Cache</small>
62
58
  </li>
63
59
 
64
60
 
65
61
  <li class="r1 ">
66
62
  <span class='object_link'><a href="Elephas/Backends/Hash.html#data-instance_method" title="Elephas::Backends::Hash#data (method)">#data</a></span>
67
-
68
- <small>Elephas::Backends::Hash</small>
69
-
63
+ <small>Elephas::Backends::Hash</small>
70
64
  </li>
71
65
 
72
66
 
73
67
  <li class="r2 ">
74
68
  <span class='object_link'><a href="Elephas/Backends/Base.html#delete-instance_method" title="Elephas::Backends::Base#delete (method)">#delete</a></span>
75
-
76
- <small>Elephas::Backends::Base</small>
77
-
69
+ <small>Elephas::Backends::Base</small>
78
70
  </li>
79
71
 
80
72
 
81
73
  <li class="r1 ">
82
74
  <span class='object_link'><a href="Elephas/Backends/RubyOnRails.html#delete-instance_method" title="Elephas::Backends::RubyOnRails#delete (method)">#delete</a></span>
83
-
84
- <small>Elephas::Backends::RubyOnRails</small>
85
-
75
+ <small>Elephas::Backends::RubyOnRails</small>
86
76
  </li>
87
77
 
88
78
 
89
79
  <li class="r2 ">
90
80
  <span class='object_link'><a href="Elephas/Cache.html#delete-instance_method" title="Elephas::Cache#delete (method)">#delete</a></span>
91
-
92
- <small>Elephas::Cache</small>
93
-
81
+ <small>Elephas::Cache</small>
94
82
  </li>
95
83
 
96
84
 
97
85
  <li class="r1 ">
98
86
  <span class='object_link'><a href="Elephas/Backends/Hash.html#delete-instance_method" title="Elephas::Backends::Hash#delete (method)">#delete</a></span>
99
-
100
- <small>Elephas::Backends::Hash</small>
101
-
87
+ <small>Elephas::Backends::Hash</small>
102
88
  </li>
103
89
 
104
90
 
105
91
  <li class="r2 ">
106
92
  <span class='object_link'><a href="Elephas/Entry.html#ensure-class_method" title="Elephas::Entry.ensure (method)">ensure</a></span>
107
-
108
- <small>Elephas::Entry</small>
109
-
93
+ <small>Elephas::Entry</small>
110
94
  </li>
111
95
 
112
96
 
113
97
  <li class="r1 ">
114
98
  <span class='object_link'><a href="Elephas/Backends/Base.html#exists%3F-instance_method" title="Elephas::Backends::Base#exists? (method)">#exists?</a></span>
115
-
116
- <small>Elephas::Backends::Base</small>
117
-
99
+ <small>Elephas::Backends::Base</small>
118
100
  </li>
119
101
 
120
102
 
121
103
  <li class="r2 ">
122
104
  <span class='object_link'><a href="Elephas/Backends/Hash.html#exists%3F-instance_method" title="Elephas::Backends::Hash#exists? (method)">#exists?</a></span>
123
-
124
- <small>Elephas::Backends::Hash</small>
125
-
105
+ <small>Elephas::Backends::Hash</small>
126
106
  </li>
127
107
 
128
108
 
129
109
  <li class="r1 ">
130
110
  <span class='object_link'><a href="Elephas/Cache.html#exists%3F-instance_method" title="Elephas::Cache#exists? (method)">#exists?</a></span>
131
-
132
- <small>Elephas::Cache</small>
133
-
111
+ <small>Elephas::Cache</small>
134
112
  </li>
135
113
 
136
114
 
137
115
  <li class="r2 ">
138
116
  <span class='object_link'><a href="Elephas/Backends/RubyOnRails.html#exists%3F-instance_method" title="Elephas::Backends::RubyOnRails#exists? (method)">#exists?</a></span>
139
-
140
- <small>Elephas::Backends::RubyOnRails</small>
141
-
117
+ <small>Elephas::Backends::RubyOnRails</small>
142
118
  </li>
143
119
 
144
120
 
145
121
  <li class="r1 ">
146
122
  <span class='object_link'><a href="Elephas/Entry.html#hash-instance_method" title="Elephas::Entry#hash (method)">#hash</a></span>
147
-
148
- <small>Elephas::Entry</small>
149
-
123
+ <small>Elephas::Entry</small>
150
124
  </li>
151
125
 
152
126
 
153
127
  <li class="r2 ">
154
128
  <span class='object_link'><a href="Elephas/Entry.html#hashify_key-class_method" title="Elephas::Entry.hashify_key (method)">hashify_key</a></span>
155
-
156
- <small>Elephas::Entry</small>
157
-
129
+ <small>Elephas::Entry</small>
158
130
  </li>
159
131
 
160
132
 
161
133
  <li class="r1 ">
162
134
  <span class='object_link'><a href="Elephas/Backends/Hash.html#initialize-instance_method" title="Elephas::Backends::Hash#initialize (method)">#initialize</a></span>
163
-
164
- <small>Elephas::Backends::Hash</small>
165
-
135
+ <small>Elephas::Backends::Hash</small>
166
136
  </li>
167
137
 
168
138
 
169
139
  <li class="r2 ">
170
140
  <span class='object_link'><a href="Elephas/Cache.html#initialize-instance_method" title="Elephas::Cache#initialize (method)">#initialize</a></span>
171
-
172
- <small>Elephas::Cache</small>
173
-
141
+ <small>Elephas::Cache</small>
174
142
  </li>
175
143
 
176
144
 
177
145
  <li class="r1 ">
178
146
  <span class='object_link'><a href="Elephas/Entry.html#initialize-instance_method" title="Elephas::Entry#initialize (method)">#initialize</a></span>
179
-
180
- <small>Elephas::Entry</small>
181
-
147
+ <small>Elephas::Entry</small>
182
148
  </li>
183
149
 
184
150
 
185
151
  <li class="r2 ">
186
152
  <span class='object_link'><a href="Elephas/Entry.html#key-instance_method" title="Elephas::Entry#key (method)">#key</a></span>
187
-
188
- <small>Elephas::Entry</small>
189
-
153
+ <small>Elephas::Entry</small>
190
154
  </li>
191
155
 
192
156
 
193
157
  <li class="r1 ">
194
158
  <span class='object_link'><a href="Elephas/Backends/Base.html#now-instance_method" title="Elephas::Backends::Base#now (method)">#now</a></span>
195
-
196
- <small>Elephas::Backends::Base</small>
197
-
159
+ <small>Elephas::Backends::Base</small>
198
160
  </li>
199
161
 
200
162
 
201
163
  <li class="r2 ">
202
164
  <span class='object_link'><a href="Elephas/Cache.html#prefix-instance_method" title="Elephas::Cache#prefix (method)">#prefix</a></span>
203
-
204
- <small>Elephas::Cache</small>
205
-
165
+ <small>Elephas::Cache</small>
206
166
  </li>
207
167
 
208
168
 
209
169
  <li class="r1 ">
210
170
  <span class='object_link'><a href="Elephas/Cache.html#read-instance_method" title="Elephas::Cache#read (method)">#read</a></span>
211
-
212
- <small>Elephas::Cache</small>
213
-
171
+ <small>Elephas::Cache</small>
214
172
  </li>
215
173
 
216
174
 
217
175
  <li class="r2 ">
218
176
  <span class='object_link'><a href="Elephas/Backends/RubyOnRails.html#read-instance_method" title="Elephas::Backends::RubyOnRails#read (method)">#read</a></span>
219
-
220
- <small>Elephas::Backends::RubyOnRails</small>
221
-
177
+ <small>Elephas::Backends::RubyOnRails</small>
222
178
  </li>
223
179
 
224
180
 
225
181
  <li class="r1 ">
226
182
  <span class='object_link'><a href="Elephas/Backends/Hash.html#read-instance_method" title="Elephas::Backends::Hash#read (method)">#read</a></span>
227
-
228
- <small>Elephas::Backends::Hash</small>
229
-
183
+ <small>Elephas::Backends::Hash</small>
230
184
  </li>
231
185
 
232
186
 
233
187
  <li class="r2 ">
234
188
  <span class='object_link'><a href="Elephas/Backends/Base.html#read-instance_method" title="Elephas::Backends::Base#read (method)">#read</a></span>
235
-
236
- <small>Elephas::Backends::Base</small>
237
-
189
+ <small>Elephas::Backends::Base</small>
238
190
  </li>
239
191
 
240
192
 
241
193
  <li class="r1 ">
242
194
  <span class='object_link'><a href="Elephas/Entry.html#refresh-instance_method" title="Elephas::Entry#refresh (method)">#refresh</a></span>
243
-
244
- <small>Elephas::Entry</small>
245
-
195
+ <small>Elephas::Entry</small>
246
196
  </li>
247
197
 
248
198
 
249
199
  <li class="r2 ">
250
200
  <span class='object_link'><a href="Elephas/Cache.html#setup_options-instance_method" title="Elephas::Cache#setup_options (method)">#setup_options</a></span>
251
-
252
- <small>Elephas::Cache</small>
253
-
201
+ <small>Elephas::Cache</small>
254
202
  </li>
255
203
 
256
204
 
257
205
  <li class="r1 ">
258
206
  <span class='object_link'><a href="Elephas/Entry.html#ttl-instance_method" title="Elephas::Entry#ttl (method)">#ttl</a></span>
259
-
260
- <small>Elephas::Entry</small>
261
-
207
+ <small>Elephas::Entry</small>
262
208
  </li>
263
209
 
264
210
 
265
211
  <li class="r2 ">
266
212
  <span class='object_link'><a href="Elephas/Entry.html#updated_at-instance_method" title="Elephas::Entry#updated_at (method)">#updated_at</a></span>
267
-
268
- <small>Elephas::Entry</small>
269
-
213
+ <small>Elephas::Entry</small>
270
214
  </li>
271
215
 
272
216
 
273
217
  <li class="r1 ">
274
218
  <span class='object_link'><a href="Elephas/Cache.html#use-instance_method" title="Elephas::Cache#use (method)">#use</a></span>
275
-
276
- <small>Elephas::Cache</small>
277
-
219
+ <small>Elephas::Cache</small>
278
220
  </li>
279
221
 
280
222
 
281
223
  <li class="r2 ">
282
224
  <span class='object_link'><a href="Elephas/Entry.html#valid%3F-instance_method" title="Elephas::Entry#valid? (method)">#valid?</a></span>
283
-
284
- <small>Elephas::Entry</small>
285
-
225
+ <small>Elephas::Entry</small>
286
226
  </li>
287
227
 
288
228
 
289
229
  <li class="r1 ">
290
230
  <span class='object_link'><a href="Elephas/Entry.html#value-instance_method" title="Elephas::Entry#value (method)">#value</a></span>
291
-
292
- <small>Elephas::Entry</small>
293
-
231
+ <small>Elephas::Entry</small>
294
232
  </li>
295
233
 
296
234
 
297
235
  <li class="r2 ">
298
236
  <span class='object_link'><a href="Elephas/Backends/Base.html#write-instance_method" title="Elephas::Backends::Base#write (method)">#write</a></span>
299
-
300
- <small>Elephas::Backends::Base</small>
301
-
237
+ <small>Elephas::Backends::Base</small>
302
238
  </li>
303
239
 
304
240
 
305
241
  <li class="r1 ">
306
242
  <span class='object_link'><a href="Elephas/Backends/RubyOnRails.html#write-instance_method" title="Elephas::Backends::RubyOnRails#write (method)">#write</a></span>
307
-
308
- <small>Elephas::Backends::RubyOnRails</small>
309
-
243
+ <small>Elephas::Backends::RubyOnRails</small>
310
244
  </li>
311
245
 
312
246
 
313
247
  <li class="r2 ">
314
248
  <span class='object_link'><a href="Elephas/Cache.html#write-instance_method" title="Elephas::Cache#write (method)">#write</a></span>
315
-
316
- <small>Elephas::Cache</small>
317
-
249
+ <small>Elephas::Cache</small>
318
250
  </li>
319
251
 
320
252
 
321
253
  <li class="r1 ">
322
254
  <span class='object_link'><a href="Elephas/Backends/Hash.html#write-instance_method" title="Elephas::Backends::Hash#write (method)">#write</a></span>
323
-
324
- <small>Elephas::Backends::Hash</small>
325
-
255
+ <small>Elephas::Backends::Hash</small>
326
256
  </li>
327
257
 
328
258
 
@@ -6,13 +6,13 @@
6
6
  <title>
7
7
  Top Level Namespace
8
8
 
9
- &mdash; Documentation by YARD 0.8.5.2
9
+ &mdash; Documentation by YARD 0.8.6.1
10
10
 
11
11
  </title>
12
12
 
13
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
14
14
 
15
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
16
16
 
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
@@ -103,9 +103,9 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sat Apr 13 12:09:03 2013 by
106
+ Generated on Sun May 19 15:44:47 2013 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
- 0.8.5.2 (ruby-1.9.3).
108
+ 0.8.6.1 (ruby-1.9.3).
109
109
  </div>
110
110
 
111
111
  </body>
data/elephas.gemspec CHANGED
@@ -24,5 +24,5 @@ Gem::Specification.new do |gem|
24
24
 
25
25
  gem.required_ruby_version = ">= 1.9.3"
26
26
 
27
- gem.add_dependency("lazier", "~> 2.8.1")
27
+ gem.add_dependency("lazier", "~> 3.0.1")
28
28
  end
@@ -56,8 +56,8 @@ module Elephas
56
56
  private
57
57
  # Marks a method as unimplemented.
58
58
  def unimplemented
59
- self.i18n_setup(:elephas, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../../locales/")) if !@i18n
60
- raise ArgumentError.new(self.i18n.unimplemented)
59
+ i18n_setup(:elephas, ::File.absolute_path(::Pathname.new(::File.dirname(__FILE__)).to_s + "/../../../locales/")) if !@i18n
60
+ raise ArgumentError.new(i18n.unimplemented)
61
61
  end
62
62
  end
63
63
  end
@@ -9,7 +9,7 @@ module Elephas
9
9
  # This is a simple backend, which uses an hash for storing the values.
10
10
  #
11
11
  # @attribute data
12
- # @return [Hash] The internal hash used by the backend.
12
+ # @return [HashWithIndifferentAccess] The internal hash used by the backend.
13
13
  class Hash < Base
14
14
  attr_accessor :data
15
15
 
@@ -17,7 +17,7 @@ module Elephas
17
17
  #
18
18
  # @param data [Hash] The initial data stored.
19
19
  def initialize(data = nil)
20
- @data = data && data.is_a?(::Hash) ? data : {}
20
+ @data = data.ensure_hash({}).with_indifferent_access
21
21
  end
22
22
 
23
23
  # Reads a value from the cache.
@@ -25,7 +25,7 @@ module Elephas
25
25
  # @param key [String] The key to lookup.
26
26
  # @return [Entry|NilClass] The read value or `nil`.
27
27
  def read(key)
28
- self.exists?(key) ? @data[key.ensure_string] : nil
28
+ exists?(key) ? @data[key] : nil
29
29
  end
30
30
 
31
31
  # Writes a value to the cache.
@@ -38,7 +38,7 @@ module Elephas
38
38
  def write(key, value, options = {})
39
39
  entry = ::Elephas::Entry.ensure(value, key, options)
40
40
  entry.refresh
41
- @data[key.ensure_string] = entry
41
+ @data[key] = entry
42
42
  entry
43
43
  end
44
44
 
@@ -47,7 +47,6 @@ module Elephas
47
47
  # @param key [String] The key to delete.
48
48
  # @return [Boolean] `true` if the key was in the cache, `false` otherwise.
49
49
  def delete(key)
50
- key = key.ensure_string
51
50
  rv = @data.has_key?(key)
52
51
  @data.delete(key)
53
52
  rv
@@ -58,7 +57,6 @@ module Elephas
58
57
  # @param key [String] The key to lookup.
59
58
  # @return [Boolean] `true` if the key is in the cache, `false` otherwise.
60
59
  def exists?(key)
61
- key = key.ensure_string
62
60
  @data.has_key?(key) && @data[key].valid?(self)
63
61
  end
64
62
  end
@@ -13,7 +13,7 @@ module Elephas
13
13
  # @param key [String] The key to lookup.
14
14
  # @return [Entry|NilClass] The read value or `nil`.
15
15
  def read(key)
16
- self.exists?(key) ? Rails.cache.read(key) : nil
16
+ exists?(key) ? Rails.cache.read(key) : nil
17
17
  end
18
18
 
19
19
  # Writes a value to the cache.
@@ -35,7 +35,6 @@ module Elephas
35
35
  # @param key [String] The key to delete.
36
36
  # @return [Boolean] `true` if the key was in the cache, `false` otherwise.
37
37
  def delete(key)
38
- key = key.ensure_string
39
38
  rv = Rails.cache.exist?(key)
40
39
  Rails.cache.delete(key)
41
40
  rv
@@ -46,7 +45,6 @@ module Elephas
46
45
  # @param key [String] The key to lookup.
47
46
  # @return [Boolean] `true` if the key is in the cache, `false` otherwise.
48
47
  def exists?(key)
49
- key = key.ensure_string
50
48
  Rails.cache.exist?(key) && Rails.cache.read(key).valid?(self)
51
49
  end
52
50
  end
data/lib/elephas/cache.rb CHANGED
@@ -56,7 +56,7 @@ module Elephas
56
56
  rv = nil
57
57
 
58
58
  # Get options
59
- options = self.setup_options(options, key)
59
+ options = setup_options(options, key)
60
60
 
61
61
  # Check if the storage has the value (if we don't have to skip the cache)
62
62
  rv = choose_backend(options).read(options[:hash]) if options[:force] == false && options[:ttl] > 0
@@ -83,7 +83,7 @@ module Elephas
83
83
  # @see .setup_options
84
84
  # @return [Object] The value itself.
85
85
  def write(key, value, options = {})
86
- choose_backend(options).write(key, value, self.setup_options(options, key))
86
+ choose_backend(options).write(key, value, setup_options(options, key))
87
87
  end
88
88
 
89
89
  # Deletes a value from the cache.
@@ -119,8 +119,7 @@ module Elephas
119
119
  # @param key [String] The key to associate to this options.
120
120
  # @return [Hash] An options hash.
121
121
  def setup_options(options, key)
122
- options = {} if !options.is_a?(::Hash)
123
- options = {ttl: 1.hour * 1000, force: false, as_entry: false}.merge(options)
122
+ options = {ttl: 1.hour * 1000, force: false, as_entry: false}.merge(options.ensure_hash({}))
124
123
 
125
124
  # Sanitize options.
126
125
  options = sanitize_options(options, key)
@@ -143,7 +142,7 @@ module Elephas
143
142
  def compute_value(options, &block)
144
143
  rv = block.call(options)
145
144
  rv = ::Elephas::Entry.ensure(rv, options[:complete_key], options) # Make sure is an entry
146
- self.write(rv.hash, rv, options) if !rv.value.nil? && options[:ttl] > 0 # We have a value and we have to store it
145
+ write(rv.hash, rv, options) if !rv.value.nil? && options[:ttl] > 0 # We have a value and we have to store it
147
146
  rv
148
147
  end
149
148
 
@@ -153,10 +152,11 @@ module Elephas
153
152
  # @param key [String] The key to associate to this options.
154
153
  # @return [Hash] An options hash.
155
154
  def sanitize_options(options, key)
156
- options[:key] ||= key.ensure_string
155
+ options[:key] ||= key
157
156
  options[:ttl] == options[:ttl].blank? ? 1.hour * 1000 : [options[:ttl].to_integer, 0].max
158
157
  options[:force] = options[:force].to_boolean
159
158
  options[:prefix] = options[:prefix].present? ? options[:prefix] : self.prefix
159
+
160
160
  options
161
161
  end
162
162
 
@@ -164,7 +164,7 @@ module Elephas
164
164
  #
165
165
  # @param options [Backends::Base|Hash] The backend to use. Defaults to the current backend.
166
166
  def choose_backend(options)
167
- backend = (options.is_a?(Hash) ? options.symbolize_keys[:backend] : options)
167
+ backend = options.ensure_hash({}).symbolize_keys[:backend]
168
168
  backend.is_a?(Elephas::Backends::Base) ? backend : self.backend
169
169
  end
170
170
  end
data/lib/elephas/entry.rb CHANGED
@@ -35,7 +35,7 @@ module Elephas
35
35
  @hash = hash.present? ? hash : self.class.hashify_key(key)
36
36
  @value = value
37
37
  @ttl = ttl
38
- self.refresh
38
+ refresh
39
39
  end
40
40
 
41
41
  # Refreshes the entry.
@@ -54,7 +54,7 @@ module Elephas
54
54
  # @param backend [Backends::Base] The backend to use for the check.
55
55
  # @return [Boolean] `true` if the entry is still valid, `false` otherwise.
56
56
  def valid?(backend)
57
- backend.now - self.updated_at < self.ttl / 1000
57
+ backend.now - updated_at < self.ttl / 1000
58
58
  end
59
59
 
60
60
  # Compares to another Entry.
@@ -70,7 +70,7 @@ module Elephas
70
70
  # @param key [String] The key to hashify.
71
71
  # @return [String] An unique hash for the key.
72
72
  def self.hashify_key(key)
73
- Digest::SHA2.hexdigest(key.ensure_string)
73
+ Digest::SHA2.hexdigest(key)
74
74
  end
75
75
 
76
76
  # Ensures that the value is an Entry.
@@ -83,10 +83,10 @@ module Elephas
83
83
  rv = value
84
84
 
85
85
  if !rv.is_a?(::Elephas::Entry) then
86
- options = {} if !options.is_a?(Hash)
86
+ options = options.ensure_hash({})
87
87
 
88
88
  ttl = [options[:ttl].to_integer, 0].max
89
- hash = options[:hash] || ::Elephas::Entry.hashify_key(key.ensure_string)
89
+ hash = options[:hash] || ::Elephas::Entry.hashify_key(key)
90
90
 
91
91
  rv = ::Elephas::Entry.new(key, rv, hash, ttl)
92
92
  end
@@ -11,13 +11,13 @@ module Elephas
11
11
  # @see http://semver.org
12
12
  module Version
13
13
  # The major version.
14
- MAJOR = 3
14
+ MAJOR = 4
15
15
 
16
16
  # The minor version.
17
17
  MINOR = 0
18
18
 
19
19
  # The patch version.
20
- PATCH = 1
20
+ PATCH = 0
21
21
 
22
22
  # The current version of elephas.
23
23
  STRING = [MAJOR, MINOR, PATCH].compact.join(".")
@@ -6,7 +6,7 @@
6
6
 
7
7
  require "spec_helper"
8
8
 
9
- describe ::Elephas::Cache do
9
+ describe Elephas::Cache do
10
10
  let(:entry) { ::Elephas::Entry.ensure("VALUE", ::Elephas::Cache.new(nil).prefix + "[KEY]", {ttl: 3600}) }
11
11
  let(:reference) { ::Elephas::Cache.new(::Elephas::Backends::Hash.new) }
12
12
 
@@ -84,7 +84,6 @@ describe Elephas::Entry do
84
84
  it "should compute a good hash" do
85
85
  expect(::Elephas::Entry.hashify_key("HASH 1")).to eq("88e1f3572122e2605c1fab09efa8d4e99f5a064ae0230ca0aeced839796aba35")
86
86
  expect(::Elephas::Entry.hashify_key("HASH 2")).to eq("38589cee32e00f700cf958dfe98f17d6da231700c41586e3c32b00314bb3cb58")
87
- expect(::Elephas::Entry.hashify_key(nil)).to eq("e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")
88
87
  end
89
88
  end
90
89
 
@@ -16,7 +16,7 @@ describe Elephas::Backends::Hash do
16
16
  end
17
17
 
18
18
  it "should create a store with an given hash" do
19
- expect(::Elephas::Backends::Hash.new({a: :b}).data).to eq({a: :b})
19
+ expect(::Elephas::Backends::Hash.new({a: :b}).data).to eq({"a" => :b})
20
20
  end
21
21
 
22
22
  it "should ensure that the store is an Hash" do
@@ -12,13 +12,13 @@ describe Elephas::Backends::RubyOnRails do
12
12
  self[key]
13
13
  end
14
14
 
15
- def write(key, value, options = {})
16
- self.delete(key)
15
+ def write(key, value, _)
16
+ delete(key)
17
17
  self[key] = value
18
18
  end
19
19
 
20
20
  def exist?(key)
21
- self.has_key?(key)
21
+ has_key?(key)
22
22
  end
23
23
  end
24
24