elephas 1.1.3 → 2.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/.travis.yml +1 -1
- data/Gemfile +1 -1
- data/README.md +4 -2
- data/Rakefile +1 -1
- data/doc/Elephas/Cache.html +83 -63
- data/doc/Elephas/Entry.html +897 -59
- data/doc/Elephas/Providers/Base.html +31 -78
- data/doc/Elephas/Providers/Hash.html +137 -23
- data/doc/Elephas/Providers/RubyOnRails.html +20 -21
- data/doc/Elephas/Providers.html +3 -3
- data/doc/Elephas/Version.html +6 -6
- data/doc/Elephas.html +4 -4
- data/doc/_index.html +4 -4
- data/doc/file.README.html +8 -6
- data/doc/frames.html +1 -1
- data/doc/index.html +8 -6
- data/doc/top-level-namespace.html +3 -3
- data/elephas.gemspec +10 -8
- data/lib/elephas/cache.rb +124 -103
- data/lib/elephas/entry.rb +23 -22
- data/lib/elephas/provider.rb +13 -5
- data/lib/elephas/providers/hash.rb +14 -14
- data/lib/elephas/providers/ruby_on_rails.rb +10 -11
- data/lib/elephas/version.rb +4 -4
- data/lib/elephas.rb +1 -3
- data/locales/en.yml +9 -0
- data/locales/it.yml +9 -0
- data/spec/coverage_helper.rb +1 -1
- data/spec/elephas/cache_spec.rb +19 -19
- data/spec/elephas/entry_spec.rb +1 -1
- data/spec/elephas/provider_spec.rb +1 -1
- data/spec/elephas/providers/hash_spec.rb +3 -3
- data/spec/elephas/providers/ruby_on_rails_spec.rb +2 -2
- data/spec/spec_helper.rb +1 -1
- metadata +18 -23
- data/doc/Elephas/Exceptions.html +0 -115
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the elephas gem. Copyright (C)
|
|
3
|
+
# This file is part of the elephas gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
data/README.md
CHANGED
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
A storage agnostic caching framework.
|
|
8
8
|
|
|
9
|
-
http://
|
|
9
|
+
http://sw.cow.tc/elephas
|
|
10
|
+
|
|
11
|
+
http://rdoc.info/gems/elephas
|
|
10
12
|
|
|
11
13
|
## Usage
|
|
12
14
|
|
|
@@ -53,5 +55,5 @@ See documentation for more informations.
|
|
|
53
55
|
|
|
54
56
|
## Copyright
|
|
55
57
|
|
|
56
|
-
Copyright (C)
|
|
58
|
+
Copyright (C) 2013 and above Shogun (shogun_panda@me.com).
|
|
57
59
|
Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
data/Rakefile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
#
|
|
3
|
-
# This file is part of the elephas gem. Copyright (C)
|
|
3
|
+
# This file is part of the elephas gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
|
4
4
|
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
|
|
5
5
|
#
|
|
6
6
|
|
data/doc/Elephas/Cache.html
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<title>
|
|
7
7
|
Class: Elephas::Cache
|
|
8
8
|
|
|
9
|
-
— Documentation by YARD 0.8.
|
|
9
|
+
— Documentation by YARD 0.8.3
|
|
10
10
|
|
|
11
11
|
</title>
|
|
12
12
|
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
|
|
139
|
-
<span class="summary_desc"><div class='inline'><p>
|
|
139
|
+
<span class="summary_desc"><div class='inline'><p>Returns the value of attribute provider.</p>
|
|
140
140
|
</div></span>
|
|
141
141
|
|
|
142
142
|
</li>
|
|
@@ -273,7 +273,7 @@
|
|
|
273
273
|
<li class="public ">
|
|
274
274
|
<span class="summary_signature">
|
|
275
275
|
|
|
276
|
-
<a href="#use-class_method" title="use (class method)">+ (Object|Entry) <strong>use</strong>(key, options = {}) </a>
|
|
276
|
+
<a href="#use-class_method" title="use (class method)">+ (Object|Entry) <strong>use</strong>(key, options = {}, &block) </a>
|
|
277
277
|
|
|
278
278
|
|
|
279
279
|
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
|
|
337
337
|
</h3><div class="docstring">
|
|
338
338
|
<div class="discussion">
|
|
339
|
-
<p>
|
|
339
|
+
<p>Returns the value of attribute provider</p>
|
|
340
340
|
|
|
341
341
|
|
|
342
342
|
</div>
|
|
@@ -350,12 +350,12 @@
|
|
|
350
350
|
<pre class="lines">
|
|
351
351
|
|
|
352
352
|
|
|
353
|
-
12
|
|
354
353
|
13
|
|
355
|
-
14
|
|
354
|
+
14
|
|
355
|
+
15</pre>
|
|
356
356
|
</td>
|
|
357
357
|
<td>
|
|
358
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
358
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 13</span>
|
|
359
359
|
|
|
360
360
|
<span class='kw'>def</span> <span class='id identifier rubyid_provider'>provider</span>
|
|
361
361
|
<span class='ivar'>@provider</span>
|
|
@@ -414,14 +414,14 @@
|
|
|
414
414
|
<pre class="lines">
|
|
415
415
|
|
|
416
416
|
|
|
417
|
+
95
|
|
417
418
|
96
|
|
418
|
-
97
|
|
419
|
-
98</pre>
|
|
419
|
+
97</pre>
|
|
420
420
|
</td>
|
|
421
421
|
<td>
|
|
422
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
422
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 95</span>
|
|
423
423
|
|
|
424
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_default_prefix'>default_prefix</span>
|
|
424
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_prefix'>default_prefix</span>
|
|
425
425
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>elephas-</span><span class='embexpr_beg'>#{</span><span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Version</span><span class='op'>::</span><span class='const'>STRING</span><span class='rbrace'>}</span><span class='tstring_content'>-cache</span><span class='tstring_end'>"</span></span>
|
|
426
426
|
<span class='kw'>end</span></pre>
|
|
427
427
|
</td>
|
|
@@ -490,15 +490,15 @@
|
|
|
490
490
|
<pre class="lines">
|
|
491
491
|
|
|
492
492
|
|
|
493
|
+
80
|
|
493
494
|
81
|
|
494
|
-
82
|
|
495
|
-
83</pre>
|
|
495
|
+
82</pre>
|
|
496
496
|
</td>
|
|
497
497
|
<td>
|
|
498
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
498
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 80</span>
|
|
499
499
|
|
|
500
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
501
|
-
<span class='
|
|
500
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
501
|
+
<span class='ivar'>@provider</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
502
502
|
<span class='kw'>end</span></pre>
|
|
503
503
|
</td>
|
|
504
504
|
</tr>
|
|
@@ -566,15 +566,15 @@
|
|
|
566
566
|
<pre class="lines">
|
|
567
567
|
|
|
568
568
|
|
|
569
|
+
88
|
|
569
570
|
89
|
|
570
|
-
90
|
|
571
|
-
91</pre>
|
|
571
|
+
90</pre>
|
|
572
572
|
</td>
|
|
573
573
|
<td>
|
|
574
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
574
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 88</span>
|
|
575
575
|
|
|
576
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
577
|
-
<span class='
|
|
576
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
577
|
+
<span class='ivar'>@provider</span><span class='period'>.</span><span class='id identifier rubyid_exists?'>exists?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
578
578
|
<span class='kw'>end</span></pre>
|
|
579
579
|
</td>
|
|
580
580
|
</tr>
|
|
@@ -642,15 +642,15 @@
|
|
|
642
642
|
<pre class="lines">
|
|
643
643
|
|
|
644
644
|
|
|
645
|
+
61
|
|
645
646
|
62
|
|
646
|
-
63
|
|
647
|
-
64</pre>
|
|
647
|
+
63</pre>
|
|
648
648
|
</td>
|
|
649
649
|
<td>
|
|
650
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
650
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 61</span>
|
|
651
651
|
|
|
652
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
653
|
-
<span class='
|
|
652
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
653
|
+
<span class='ivar'>@provider</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
654
654
|
<span class='kw'>end</span></pre>
|
|
655
655
|
</td>
|
|
656
656
|
</tr>
|
|
@@ -744,6 +744,7 @@ Valid options are:</p>
|
|
|
744
744
|
<pre class="lines">
|
|
745
745
|
|
|
746
746
|
|
|
747
|
+
113
|
|
747
748
|
114
|
|
748
749
|
115
|
|
749
750
|
116
|
|
@@ -757,25 +758,22 @@ Valid options are:</p>
|
|
|
757
758
|
124
|
|
758
759
|
125
|
|
759
760
|
126
|
|
760
|
-
127
|
|
761
|
-
128
|
|
762
|
-
129</pre>
|
|
761
|
+
127</pre>
|
|
763
762
|
</td>
|
|
764
763
|
<td>
|
|
765
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
764
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 113</span>
|
|
766
765
|
|
|
767
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
766
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
768
767
|
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
|
769
|
-
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='
|
|
770
|
-
|
|
771
|
-
<span class='
|
|
772
|
-
<span class='id identifier rubyid_options'>options</span
|
|
773
|
-
<span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>elephas-</span><span class='embexpr_beg'>#{</span><span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Version</span><span class='op'>::</span><span class='const'>STRING</span><span class='rbrace'>}</span><span class='tstring_content'>-cache</span><span class='tstring_end'>"</span></span>
|
|
768
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>ttl:</span> <span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_hour'>hour</span> <span class='op'>*</span> <span class='int'>1000</span><span class='comma'>,</span> <span class='label'>force:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='label'>as_entry:</span> <span class='kw'>false</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
|
769
|
+
|
|
770
|
+
<span class='comment'># Sanitize options.
|
|
771
|
+
</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='id identifier rubyid_sanitize_options'>sanitize_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
774
772
|
|
|
775
773
|
<span class='comment'># Wrap the final key to ensure we don't have colliding namespaces.
|
|
776
774
|
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:complete_key</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:prefix</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>"</span></span>
|
|
777
775
|
|
|
778
|
-
<span class='comment'># Compute the hash key used for referencing this value
|
|
776
|
+
<span class='comment'># Compute the hash key used for referencing this value.
|
|
779
777
|
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:hash</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Entry</span><span class='period'>.</span><span class='id identifier rubyid_hashify_key'>hashify_key</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:complete_key</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
|
780
778
|
|
|
781
779
|
<span class='id identifier rubyid_options'>options</span>
|
|
@@ -788,7 +786,7 @@ Valid options are:</p>
|
|
|
788
786
|
<div class="method_details ">
|
|
789
787
|
<h3 class="signature " id="use-class_method">
|
|
790
788
|
|
|
791
|
-
+ (<tt>Object|<span class='object_link'><a href="Entry.html" title="Elephas::Entry (class)">Entry</a></span></tt>) <strong>use</strong>(key, options = {})
|
|
789
|
+
+ (<tt>Object|<span class='object_link'><a href="Entry.html" title="Elephas::Entry (class)">Entry</a></span></tt>) <strong>use</strong>(key, options = {}, &block)
|
|
792
790
|
|
|
793
791
|
|
|
794
792
|
|
|
@@ -839,6 +837,38 @@ Valid options are:</p>
|
|
|
839
837
|
|
|
840
838
|
</li>
|
|
841
839
|
|
|
840
|
+
<li>
|
|
841
|
+
|
|
842
|
+
<span class='name'>options</span>
|
|
843
|
+
|
|
844
|
+
|
|
845
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
846
|
+
|
|
847
|
+
|
|
848
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
|
849
|
+
|
|
850
|
+
|
|
851
|
+
—
|
|
852
|
+
<div class='inline'><p>A list of options for managing this key.</p>
|
|
853
|
+
</div>
|
|
854
|
+
|
|
855
|
+
</li>
|
|
856
|
+
|
|
857
|
+
<li>
|
|
858
|
+
|
|
859
|
+
<span class='name'>block</span>
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
|
863
|
+
|
|
864
|
+
|
|
865
|
+
|
|
866
|
+
—
|
|
867
|
+
<div class='inline'><p>An optional block to run to compute the value for the key if nothing is found.</p>
|
|
868
|
+
</div>
|
|
869
|
+
|
|
870
|
+
</li>
|
|
871
|
+
|
|
842
872
|
</ul>
|
|
843
873
|
|
|
844
874
|
<p class="tag_title">Returns:</p>
|
|
@@ -862,7 +892,7 @@ Valid options are:</p>
|
|
|
862
892
|
<p class="tag_title">See Also:</p>
|
|
863
893
|
<ul class="see">
|
|
864
894
|
|
|
865
|
-
<li></li>
|
|
895
|
+
<li><span class='object_link'><a href="#setup_options-class_method" title="Elephas::Cache.setup_options (method)">setup_options</a></span></li>
|
|
866
896
|
|
|
867
897
|
</ul>
|
|
868
898
|
|
|
@@ -872,10 +902,6 @@ Valid options are:</p>
|
|
|
872
902
|
<pre class="lines">
|
|
873
903
|
|
|
874
904
|
|
|
875
|
-
39
|
|
876
|
-
40
|
|
877
|
-
41
|
|
878
|
-
42
|
|
879
905
|
43
|
|
880
906
|
44
|
|
881
907
|
45
|
|
@@ -888,27 +914,21 @@ Valid options are:</p>
|
|
|
888
914
|
52
|
|
889
915
|
53
|
|
890
916
|
54
|
|
891
|
-
55
|
|
892
|
-
56</pre>
|
|
917
|
+
55</pre>
|
|
893
918
|
</td>
|
|
894
919
|
<td>
|
|
895
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
920
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 43</span>
|
|
896
921
|
|
|
897
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_use'>use</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
922
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_use'>use</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
|
898
923
|
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
|
899
924
|
|
|
900
925
|
<span class='comment'># Get options
|
|
901
|
-
</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='
|
|
926
|
+
</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
|
902
927
|
|
|
903
928
|
<span class='comment'># Check if the storage has the value (if we don't have to skip the cache)
|
|
904
|
-
</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
|
908
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Entry</span><span class='period'>.</span><span class='id identifier rubyid_ensure'>ensure</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:complete_key</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='comment'># Make sure is an entry
|
|
909
|
-
</span> <span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span><span class='comma'>,</span> <span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&&</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:ttl</span><span class='rbracket'>]</span> <span class='op'>></span> <span class='int'>0</span> <span class='comment'># We have a value and we have to store it
|
|
910
|
-
</span> <span class='kw'>end</span>
|
|
911
|
-
|
|
929
|
+
</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='ivar'>@provider</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:hash</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:force</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='kw'>false</span> <span class='op'>&&</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:ttl</span><span class='rbracket'>]</span> <span class='op'>></span> <span class='int'>0</span>
|
|
930
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_compute_value'>compute_value</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&&</span> <span class='id identifier rubyid_block'>block</span> <span class='comment'># Try to compute the value from the block
|
|
931
|
+
</span>
|
|
912
932
|
<span class='comment'># Return value
|
|
913
933
|
</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:as_entry</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
|
914
934
|
<span class='kw'>end</span></pre>
|
|
@@ -1017,15 +1037,15 @@ Valid options are:</p>
|
|
|
1017
1037
|
<pre class="lines">
|
|
1018
1038
|
|
|
1019
1039
|
|
|
1040
|
+
72
|
|
1020
1041
|
73
|
|
1021
|
-
74
|
|
1022
|
-
75</pre>
|
|
1042
|
+
74</pre>
|
|
1023
1043
|
</td>
|
|
1024
1044
|
<td>
|
|
1025
|
-
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line
|
|
1045
|
+
<pre class="code"><span class="info file"># File 'lib/elephas/cache.rb', line 72</span>
|
|
1026
1046
|
|
|
1027
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
1028
|
-
<span class='
|
|
1047
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
1048
|
+
<span class='ivar'>@provider</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>Elephas</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
|
1029
1049
|
<span class='kw'>end</span></pre>
|
|
1030
1050
|
</td>
|
|
1031
1051
|
</tr>
|
|
@@ -1037,9 +1057,9 @@ Valid options are:</p>
|
|
|
1037
1057
|
</div>
|
|
1038
1058
|
|
|
1039
1059
|
<div id="footer">
|
|
1040
|
-
Generated on
|
|
1060
|
+
Generated on Sat Feb 2 09:15:15 2013 by
|
|
1041
1061
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1042
|
-
0.8.
|
|
1062
|
+
0.8.3 (ruby-1.9.3).
|
|
1043
1063
|
</div>
|
|
1044
1064
|
|
|
1045
1065
|
</body>
|