pincerna 1.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.rubocop.yml +77 -0
  4. data/.travis-gemfile +17 -0
  5. data/.travis.yml +7 -0
  6. data/.yardopts +1 -0
  7. data/CHANGELOG.md +3 -0
  8. data/Gemfile +23 -0
  9. data/LICENSE.md +21 -0
  10. data/README.md +211 -0
  11. data/Rakefile +45 -0
  12. data/bin/pincernad +56 -0
  13. data/docs/Pincerna.html +130 -0
  14. data/docs/Pincerna/Base.html +3051 -0
  15. data/docs/Pincerna/Bookmark.html +523 -0
  16. data/docs/Pincerna/Cache.html +767 -0
  17. data/docs/Pincerna/ChromeBookmark.html +308 -0
  18. data/docs/Pincerna/CurrencyConversion.html +589 -0
  19. data/docs/Pincerna/FirefoxBookmark.html +328 -0
  20. data/docs/Pincerna/Ip.html +1017 -0
  21. data/docs/Pincerna/Map.html +399 -0
  22. data/docs/Pincerna/SafariBookmark.html +308 -0
  23. data/docs/Pincerna/Server.html +673 -0
  24. data/docs/Pincerna/Translation.html +517 -0
  25. data/docs/Pincerna/UnitConversion.html +1042 -0
  26. data/docs/Pincerna/Version.html +189 -0
  27. data/docs/Pincerna/Vpn.html +561 -0
  28. data/docs/Pincerna/Weather.html +837 -0
  29. data/docs/_index.html +298 -0
  30. data/docs/class_list.html +54 -0
  31. data/docs/css/common.css +1 -0
  32. data/docs/css/full_list.css +57 -0
  33. data/docs/css/style.css +338 -0
  34. data/docs/file.README.html +327 -0
  35. data/docs/file_list.html +56 -0
  36. data/docs/frames.html +28 -0
  37. data/docs/index.html +327 -0
  38. data/docs/js/app.js +214 -0
  39. data/docs/js/full_list.js +178 -0
  40. data/docs/js/jquery.js +4 -0
  41. data/docs/method_list.html +389 -0
  42. data/docs/top-level-namespace.html +112 -0
  43. data/icon.png +0 -0
  44. data/images/chrome.png +0 -0
  45. data/images/currency.png +0 -0
  46. data/images/firefox.png +0 -0
  47. data/images/map.png +0 -0
  48. data/images/network.png +0 -0
  49. data/images/safari.png +0 -0
  50. data/images/translate.png +0 -0
  51. data/images/unit.png +0 -0
  52. data/images/vpn.png +0 -0
  53. data/images/weather.png +0 -0
  54. data/info.plist +961 -0
  55. data/it.cowtech.pincernad.plist +19 -0
  56. data/lib/pincerna.rb +30 -0
  57. data/lib/pincerna/base.rb +258 -0
  58. data/lib/pincerna/bookmark.rb +80 -0
  59. data/lib/pincerna/cache.rb +61 -0
  60. data/lib/pincerna/chrome_bookmark.rb +40 -0
  61. data/lib/pincerna/currency_conversion.rb +134 -0
  62. data/lib/pincerna/firefox_bookmark.rb +92 -0
  63. data/lib/pincerna/ip.rb +135 -0
  64. data/lib/pincerna/map.rb +30 -0
  65. data/lib/pincerna/safari_bookmark.rb +40 -0
  66. data/lib/pincerna/server.rb +85 -0
  67. data/lib/pincerna/translation.rb +67 -0
  68. data/lib/pincerna/unit_conversion.rb +120 -0
  69. data/lib/pincerna/version.rb +24 -0
  70. data/lib/pincerna/vpn.rb +74 -0
  71. data/lib/pincerna/weather.rb +188 -0
  72. data/pincerna.alfredworkflow +0 -0
  73. data/pincerna.gemspec +36 -0
  74. data/pincerna.sh +9 -0
  75. data/spec/cassettes/Pincerna_CurrencyConversion/_perform_filtering/should_return_valid_values.yml +38 -0
  76. data/spec/cassettes/Pincerna_Ip/_get_local_addresses/should_return_a_list_of_addresses.yml +47 -0
  77. data/spec/cassettes/Pincerna_Ip/_get_public_address/should_return_public_IP_address.yml +44 -0
  78. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_default_from_English_to_the_given_language_when_only_one_is_present.yml +124 -0
  79. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_query_Google_Translate_for_sentences_returning_no_alternatives.yml +51 -0
  80. data/spec/cassettes/Pincerna_Translation/_perform_filtering/should_query_Google_Translate_for_single_words.yml +71 -0
  81. data/spec/cassettes/Pincerna_Weather/_get_forecast/should_append_name.yml +177 -0
  82. data/spec/cassettes/Pincerna_Weather/_get_forecast/should_get_correct_forecasts.yml +339 -0
  83. data/spec/cassettes/Pincerna_Weather/_lookup_places/should_return_an_existing_WOEID_without_making_any_request.yml +56 -0
  84. data/spec/cassettes/Pincerna_Weather/_lookup_places/should_search_for_places.yml +189 -0
  85. data/spec/cassettes/Pincerna_Weather/_perform_filtering/should_get_forecast.yml +56 -0
  86. data/spec/coverage_helper.rb +44 -0
  87. data/spec/pincerna/base_spec.rb +166 -0
  88. data/spec/pincerna/bookmark_spec.rb +65 -0
  89. data/spec/pincerna/cache_spec.rb +88 -0
  90. data/spec/pincerna/chrome_bookmark_spec.rb +114 -0
  91. data/spec/pincerna/currency_conversion_spec.rb +46 -0
  92. data/spec/pincerna/firefox_bookmark_spec.rb +46 -0
  93. data/spec/pincerna/ip_spec.rb +194 -0
  94. data/spec/pincerna/map_spec.rb +24 -0
  95. data/spec/pincerna/safari_bookmark_spec.rb +237 -0
  96. data/spec/pincerna/server_spec.rb +108 -0
  97. data/spec/pincerna/translation_spec.rb +55 -0
  98. data/spec/pincerna/unit_conversion_spec.rb +98 -0
  99. data/spec/pincerna/vpn_spec.rb +68 -0
  100. data/spec/pincerna/weather_spec.rb +131 -0
  101. data/spec/spec_helper.rb +48 -0
  102. metadata +283 -0
@@ -0,0 +1,767 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Pincerna::Cache
8
+
9
+ &mdash; Documentation by YARD 0.8.7
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (C)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Pincerna.html" title="Pincerna (module)">Pincerna</a></span></span>
36
+ &raquo;
37
+ <span class="title">Cache</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Pincerna::Cache
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName">Object</span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next">Pincerna::Cache</li>
82
+
83
+ </ul>
84
+ <a href="#" class="inheritanceTree">show all</a>
85
+
86
+ </dd>
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ <dt class="r2 last">Defined in:</dt>
97
+ <dd class="r2 last">lib/pincerna/cache.rb</dd>
98
+
99
+ </dl>
100
+ <div class="clear"></div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+ <p>A utility class to handle caching.</p>
105
+
106
+
107
+ </div>
108
+ </div>
109
+ <div class="tags">
110
+
111
+
112
+ </div>
113
+ <h2>Constant Summary</h2>
114
+
115
+ <dl class="constants">
116
+
117
+ <dt id="EXPIRATIONS-constant" class="">EXPIRATIONS =
118
+ <div class="docstring">
119
+ <div class="discussion">
120
+ <p>Expiration of keys.</p>
121
+
122
+
123
+ </div>
124
+ </div>
125
+ <div class="tags">
126
+
127
+
128
+ </div>
129
+ </dt>
130
+ <dd><pre class="code"><span class='lbrace'>{</span><span class='label'>short:</span> <span class='int'>1800</span><span class='comma'>,</span> <span class='label'>long:</span> <span class='int'>2592000</span><span class='rbrace'>}</span></pre></dd>
131
+
132
+ <dt id="FILE-constant" class="">FILE =
133
+ <div class="docstring">
134
+ <div class="discussion">
135
+ <p>Location of the cache file</p>
136
+
137
+
138
+ </div>
139
+ </div>
140
+ <div class="tags">
141
+
142
+
143
+ </div>
144
+ </dt>
145
+ <dd><pre class="code"><span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Base</span><span class='op'>::</span><span class='const'>CACHE_ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/cache.db</span><span class='tstring_end'>&quot;</span></span></pre></dd>
146
+
147
+ </dl>
148
+
149
+
150
+
151
+
152
+
153
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
154
+ <ul class="summary">
155
+
156
+ <li class="public ">
157
+ <span class="summary_signature">
158
+
159
+ <a href="#data-instance_method" title="#data (instance method)">- (Daybreak::DB) <strong>data</strong> </a>
160
+
161
+
162
+
163
+ </span>
164
+
165
+
166
+
167
+
168
+ <span class="note title readonly">readonly</span>
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+ <span class="summary_desc"><div class='inline'><p>The cache store.</p>
179
+ </div></span>
180
+
181
+ </li>
182
+
183
+
184
+ </ul>
185
+
186
+
187
+
188
+
189
+
190
+ <h2>
191
+ Class Method Summary
192
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
193
+ </h2>
194
+
195
+ <ul class="summary">
196
+
197
+ <li class="public ">
198
+ <span class="summary_signature">
199
+
200
+ <a href="#instance-class_method" title="instance (class method)">+ (Object) <strong>instance</strong> </a>
201
+
202
+
203
+
204
+ </span>
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ <span class="summary_desc"><div class='inline'><p>Returns the instance of the cache.</p>
215
+ </div></span>
216
+
217
+ </li>
218
+
219
+
220
+ </ul>
221
+
222
+ <h2>
223
+ Instance Method Summary
224
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
225
+ </h2>
226
+
227
+ <ul class="summary">
228
+
229
+ <li class="public ">
230
+ <span class="summary_signature">
231
+
232
+ <a href="#destroy-instance_method" title="#destroy (instance method)">- (Object) <strong>destroy</strong> </a>
233
+
234
+
235
+
236
+ </span>
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+ <span class="summary_desc"><div class='inline'><p>Closes the cache data.</p>
247
+ </div></span>
248
+
249
+ </li>
250
+
251
+
252
+ <li class="public ">
253
+ <span class="summary_signature">
254
+
255
+ <a href="#flush-instance_method" title="#flush (instance method)">- (Object) <strong>flush</strong> </a>
256
+
257
+
258
+
259
+ </span>
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+
268
+
269
+ <span class="summary_desc"><div class='inline'><p>Flush data into disk.</p>
270
+ </div></span>
271
+
272
+ </li>
273
+
274
+
275
+ <li class="public ">
276
+ <span class="summary_signature">
277
+
278
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Cache) <strong>initialize</strong> </a>
279
+
280
+
281
+
282
+ </span>
283
+
284
+
285
+ <span class="note title constructor">constructor</span>
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+ <span class="summary_desc"><div class='inline'><p>Creates a new cache object.</p>
295
+ </div></span>
296
+
297
+ </li>
298
+
299
+
300
+ <li class="public ">
301
+ <span class="summary_signature">
302
+
303
+ <a href="#use-instance_method" title="#use (instance method)">- (Object) <strong>use</strong>(key, expiration) </a>
304
+
305
+
306
+
307
+ </span>
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+
316
+
317
+ <span class="summary_desc"><div class='inline'><p>Use data from cache or fetches new data.</p>
318
+ </div></span>
319
+
320
+ </li>
321
+
322
+
323
+ </ul>
324
+
325
+
326
+ <div id="constructor_details" class="method_details_list">
327
+ <h2>Constructor Details</h2>
328
+
329
+ <div class="method_details first">
330
+ <h3 class="signature first" id="initialize-instance_method">
331
+
332
+ - (<tt><span class='object_link'><a href="" title="Pincerna::Cache (class)">Cache</a></span></tt>) <strong>initialize</strong>
333
+
334
+
335
+
336
+
337
+
338
+ </h3><div class="docstring">
339
+ <div class="discussion">
340
+ <p>Creates a new cache object.</p>
341
+
342
+
343
+ </div>
344
+ </div>
345
+ <div class="tags">
346
+
347
+
348
+ </div><table class="source_code">
349
+ <tr>
350
+ <td>
351
+ <pre class="lines">
352
+
353
+
354
+ 27
355
+ 28
356
+ 29
357
+ 30
358
+ 31</pre>
359
+ </td>
360
+ <td>
361
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 27</span>
362
+
363
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
364
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir_p'>mkdir_p</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='const'>FILE</span><span class='rparen'>)</span><span class='rparen'>)</span>
365
+ <span class='ivar'>@data</span> <span class='op'>=</span> <span class='const'>Daybreak</span><span class='op'>::</span><span class='const'>DB</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'>FILE</span><span class='rparen'>)</span>
366
+ <span class='ivar'>@flusher</span> <span class='op'>=</span> <span class='const'>EM</span><span class='period'>.</span><span class='id identifier rubyid_add_periodic_timer'>add_periodic_timer</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span> <span class='rbrace'>}</span>
367
+ <span class='kw'>end</span></pre>
368
+ </td>
369
+ </tr>
370
+ </table>
371
+ </div>
372
+
373
+ </div>
374
+
375
+ <div id="instance_attr_details" class="attr_details">
376
+ <h2>Instance Attribute Details</h2>
377
+
378
+
379
+ <span id=""></span>
380
+ <div class="method_details first">
381
+ <h3 class="signature first" id="data-instance_method">
382
+
383
+ - (<tt>Daybreak::DB</tt>) <strong>data</strong> <span class="extras">(readonly)</span>
384
+
385
+
386
+
387
+
388
+
389
+ </h3><div class="docstring">
390
+ <div class="discussion">
391
+ <p>Returns The cache store.</p>
392
+
393
+
394
+ </div>
395
+ </div>
396
+ <div class="tags">
397
+
398
+ <p class="tag_title">Returns:</p>
399
+ <ul class="return">
400
+
401
+ <li>
402
+
403
+
404
+ <span class='type'>(<tt>Daybreak::DB</tt>)</span>
405
+
406
+
407
+
408
+ &mdash;
409
+ <div class='inline'><p>The cache store.</p>
410
+ </div>
411
+
412
+ </li>
413
+
414
+ </ul>
415
+
416
+ </div><table class="source_code">
417
+ <tr>
418
+ <td>
419
+ <pre class="lines">
420
+
421
+
422
+ 12
423
+ 13
424
+ 14
425
+ 15
426
+ 16
427
+ 17
428
+ 18
429
+ 19
430
+ 20
431
+ 21
432
+ 22
433
+ 23
434
+ 24
435
+ 25
436
+ 26
437
+ 27
438
+ 28
439
+ 29
440
+ 30
441
+ 31
442
+ 32
443
+ 33
444
+ 34
445
+ 35
446
+ 36
447
+ 37
448
+ 38
449
+ 39
450
+ 40
451
+ 41
452
+ 42
453
+ 43
454
+ 44
455
+ 45
456
+ 46
457
+ 47
458
+ 48
459
+ 49
460
+ 50
461
+ 51
462
+ 52
463
+ 53
464
+ 54
465
+ 55
466
+ 56
467
+ 57
468
+ 58
469
+ 59
470
+ 60</pre>
471
+ </td>
472
+ <td>
473
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 12</span>
474
+
475
+ <span class='kw'>class</span> <span class='const'>Cache</span>
476
+ <span class='comment'># Expiration of keys.
477
+ </span> <span class='const'>EXPIRATIONS</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>short:</span> <span class='int'>1800</span><span class='comma'>,</span> <span class='label'>long:</span> <span class='int'>2592000</span><span class='rbrace'>}</span> <span class='comment'># 30 min, 1 month
478
+ </span>
479
+ <span class='comment'># Location of the cache file
480
+ </span> <span class='const'>FILE</span> <span class='op'>=</span> <span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Base</span><span class='op'>::</span><span class='const'>CACHE_ROOT</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/cache.db</span><span class='tstring_end'>&quot;</span></span>
481
+
482
+ <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:data</span>
483
+
484
+ <span class='comment'># Returns the instance of the cache.
485
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
486
+ <span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
487
+ <span class='kw'>end</span>
488
+
489
+ <span class='comment'># Creates a new cache object.
490
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
491
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id identifier rubyid_mkdir_p'>mkdir_p</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='const'>FILE</span><span class='rparen'>)</span><span class='rparen'>)</span>
492
+ <span class='ivar'>@data</span> <span class='op'>=</span> <span class='const'>Daybreak</span><span class='op'>::</span><span class='const'>DB</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='const'>FILE</span><span class='rparen'>)</span>
493
+ <span class='ivar'>@flusher</span> <span class='op'>=</span> <span class='const'>EM</span><span class='period'>.</span><span class='id identifier rubyid_add_periodic_timer'>add_periodic_timer</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span> <span class='rbrace'>}</span>
494
+ <span class='kw'>end</span>
495
+
496
+ <span class='comment'># Closes the cache data.
497
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_destroy'>destroy</span>
498
+ <span class='ivar'>@flusher</span><span class='period'>.</span><span class='id identifier rubyid_cancel'>cancel</span>
499
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
500
+ <span class='kw'>end</span>
501
+
502
+ <span class='comment'># Flush data into disk.
503
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_flush'>flush</span>
504
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
505
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
506
+ <span class='kw'>end</span>
507
+
508
+ <span class='comment'># Use data from cache or fetches new data.
509
+ </span> <span class='comment'>#
510
+ </span> <span class='comment'># @param key [String] The key of the data.
511
+ </span> <span class='comment'># @param expiration [Fixnum] Expiration of new data, in seconds.
512
+ </span> <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_expiration'>expiration</span><span class='rparen'>)</span>
513
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span>
514
+
515
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span> <span class='op'>||</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='symbol'>:expiration</span><span class='rbracket'>]</span> <span class='kw'>then</span>
516
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='kw'>yield</span>
517
+ <span class='ivar'>@data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>expiration:</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>+</span> <span class='id identifier rubyid_expiration'>expiration</span><span class='rbrace'>}</span>
518
+ <span class='id identifier rubyid_data'>data</span>
519
+ <span class='kw'>else</span>
520
+ <span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span>
521
+ <span class='kw'>end</span>
522
+ <span class='kw'>end</span>
523
+ <span class='kw'>end</span></pre>
524
+ </td>
525
+ </tr>
526
+ </table>
527
+ </div>
528
+
529
+ </div>
530
+
531
+
532
+ <div id="class_method_details" class="method_details_list">
533
+ <h2>Class Method Details</h2>
534
+
535
+
536
+ <div class="method_details first">
537
+ <h3 class="signature first" id="instance-class_method">
538
+
539
+ + (<tt>Object</tt>) <strong>instance</strong>
540
+
541
+
542
+
543
+
544
+
545
+ </h3><div class="docstring">
546
+ <div class="discussion">
547
+ <p>Returns the instance of the cache.</p>
548
+
549
+
550
+ </div>
551
+ </div>
552
+ <div class="tags">
553
+
554
+
555
+ </div><table class="source_code">
556
+ <tr>
557
+ <td>
558
+ <pre class="lines">
559
+
560
+
561
+ 22
562
+ 23
563
+ 24</pre>
564
+ </td>
565
+ <td>
566
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 22</span>
567
+
568
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span>
569
+ <span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Pincerna</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
570
+ <span class='kw'>end</span></pre>
571
+ </td>
572
+ </tr>
573
+ </table>
574
+ </div>
575
+
576
+ </div>
577
+
578
+ <div id="instance_method_details" class="method_details_list">
579
+ <h2>Instance Method Details</h2>
580
+
581
+
582
+ <div class="method_details first">
583
+ <h3 class="signature first" id="destroy-instance_method">
584
+
585
+ - (<tt>Object</tt>) <strong>destroy</strong>
586
+
587
+
588
+
589
+
590
+
591
+ </h3><div class="docstring">
592
+ <div class="discussion">
593
+ <p>Closes the cache data.</p>
594
+
595
+
596
+ </div>
597
+ </div>
598
+ <div class="tags">
599
+
600
+
601
+ </div><table class="source_code">
602
+ <tr>
603
+ <td>
604
+ <pre class="lines">
605
+
606
+
607
+ 34
608
+ 35
609
+ 36
610
+ 37</pre>
611
+ </td>
612
+ <td>
613
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 34</span>
614
+
615
+ <span class='kw'>def</span> <span class='id identifier rubyid_destroy'>destroy</span>
616
+ <span class='ivar'>@flusher</span><span class='period'>.</span><span class='id identifier rubyid_cancel'>cancel</span>
617
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
618
+ <span class='kw'>end</span></pre>
619
+ </td>
620
+ </tr>
621
+ </table>
622
+ </div>
623
+
624
+ <div class="method_details ">
625
+ <h3 class="signature " id="flush-instance_method">
626
+
627
+ - (<tt>Object</tt>) <strong>flush</strong>
628
+
629
+
630
+
631
+
632
+
633
+ </h3><div class="docstring">
634
+ <div class="discussion">
635
+ <p>Flush data into disk.</p>
636
+
637
+
638
+ </div>
639
+ </div>
640
+ <div class="tags">
641
+
642
+
643
+ </div><table class="source_code">
644
+ <tr>
645
+ <td>
646
+ <pre class="lines">
647
+
648
+
649
+ 40
650
+ 41
651
+ 42
652
+ 43</pre>
653
+ </td>
654
+ <td>
655
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 40</span>
656
+
657
+ <span class='kw'>def</span> <span class='id identifier rubyid_flush'>flush</span>
658
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
659
+ <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
660
+ <span class='kw'>end</span></pre>
661
+ </td>
662
+ </tr>
663
+ </table>
664
+ </div>
665
+
666
+ <div class="method_details ">
667
+ <h3 class="signature " id="use-instance_method">
668
+
669
+ - (<tt>Object</tt>) <strong>use</strong>(key, expiration)
670
+
671
+
672
+
673
+
674
+
675
+ </h3><div class="docstring">
676
+ <div class="discussion">
677
+ <p>Use data from cache or fetches new data.</p>
678
+
679
+
680
+ </div>
681
+ </div>
682
+ <div class="tags">
683
+ <p class="tag_title">Parameters:</p>
684
+ <ul class="param">
685
+
686
+ <li>
687
+
688
+ <span class='name'>key</span>
689
+
690
+
691
+ <span class='type'>(<tt>String</tt>)</span>
692
+
693
+
694
+
695
+ &mdash;
696
+ <div class='inline'><p>The key of the data.</p>
697
+ </div>
698
+
699
+ </li>
700
+
701
+ <li>
702
+
703
+ <span class='name'>expiration</span>
704
+
705
+
706
+ <span class='type'>(<tt>Fixnum</tt>)</span>
707
+
708
+
709
+
710
+ &mdash;
711
+ <div class='inline'><p>Expiration of new data, in seconds.</p>
712
+ </div>
713
+
714
+ </li>
715
+
716
+ </ul>
717
+
718
+
719
+ </div><table class="source_code">
720
+ <tr>
721
+ <td>
722
+ <pre class="lines">
723
+
724
+
725
+ 49
726
+ 50
727
+ 51
728
+ 52
729
+ 53
730
+ 54
731
+ 55
732
+ 56
733
+ 57
734
+ 58
735
+ 59</pre>
736
+ </td>
737
+ <td>
738
+ <pre class="code"><span class="info file"># File 'lib/pincerna/cache.rb', line 49</span>
739
+
740
+ <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_expiration'>expiration</span><span class='rparen'>)</span>
741
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span>
742
+
743
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span> <span class='op'>||</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&gt;</span> <span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='symbol'>:expiration</span><span class='rbracket'>]</span> <span class='kw'>then</span>
744
+ <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='kw'>yield</span>
745
+ <span class='ivar'>@data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>expiration:</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>+</span> <span class='id identifier rubyid_expiration'>expiration</span><span class='rbrace'>}</span>
746
+ <span class='id identifier rubyid_data'>data</span>
747
+ <span class='kw'>else</span>
748
+ <span class='id identifier rubyid_value'>value</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span>
749
+ <span class='kw'>end</span>
750
+ <span class='kw'>end</span></pre>
751
+ </td>
752
+ </tr>
753
+ </table>
754
+ </div>
755
+
756
+ </div>
757
+
758
+ </div>
759
+
760
+ <div id="footer">
761
+ Generated on Thu Aug 18 15:50:04 2016 by
762
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
763
+ 0.8.7 (ruby-2.3.0).
764
+ </div>
765
+
766
+ </body>
767
+ </html>