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 CHANGED
@@ -1,8 +1,8 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 1.8.7
4
3
  - 1.9.2
5
4
  - 1.9.3
5
+ - 2.0.0
6
6
  script: bundle exec rake spec:coverage
7
7
  notifications:
8
8
  email: false
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) 2012 and above Shogun <shogun_panda@me.com>.
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://github.com/ShogunPanda/elephas
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) 2012 and above Shogun <shogun_panda@me.com>.
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) 2012 and above Shogun <shogun_panda@me.com>.
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
 
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Elephas::Cache
8
8
 
9
- &mdash; Documentation by YARD 0.8.2.1
9
+ &mdash; 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>The provider used for the caching.</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 = {}, &amp;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>The provider used for the caching.</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</pre>
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 12</span>
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 96</span>
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'>&quot;</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'>&quot;</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 81</span>
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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_provider'>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>
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 89</span>
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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_provider'>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>
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 62</span>
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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_provider'>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>
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 114</span>
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='symbol'>:ttl</span> <span class='op'>=&gt;</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='symbol'>:force</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='symbol'>:as_entry</span> <span class='op'>=&gt;</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>
770
- <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:key</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
771
- <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='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:ttl</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>?</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='op'>:</span> <span class='lbracket'>[</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:ttl</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span>
772
- <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='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:force</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</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'>&quot;</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'>&quot;</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'>&quot;</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'>&quot;</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 = {}, &amp;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
+ &mdash;
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
+ &mdash;
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 39</span>
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'>&amp;</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='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>
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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_provider'>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'>&amp;&amp;</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'>&gt;</span> <span class='int'>0</span>
905
-
906
- <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'>&amp;&amp;</span> <span class='id identifier rubyid_block_given?'>block_given?</span> <span class='kw'>then</span> <span class='comment'># Try to compute the value from the block
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'>&amp;&amp;</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'>&gt;</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'>&amp;&amp;</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'>&gt;</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'>&amp;</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'>&amp;&amp;</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 73</span>
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='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_provider'>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='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><span class='rparen'>)</span>
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 Mon Oct 22 08:40:39 2012 by
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.2.1 (ruby-1.9.2).
1062
+ 0.8.3 (ruby-1.9.3).
1043
1063
  </div>
1044
1064
 
1045
1065
  </body>