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 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>