elephas 1.1.3 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|