lazier 3.5.2 → 3.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -79,7 +79,7 @@
79
79
 
80
80
 
81
81
  <dt class="r1 last">Defined in:</dt>
82
- <dd class="r1 last">lib/lazier/datetime.rb</dd>
82
+ <dd class="r1 last">lib/lazier/timezone.rb</dd>
83
83
 
84
84
  </dl>
85
85
  <div class="clear"></div>
@@ -355,14 +355,14 @@
355
355
  <pre class="lines">
356
356
 
357
357
 
358
- 378
359
- 379
360
- 380
361
- 381
362
- 382</pre>
358
+ 109
359
+ 110
360
+ 111
361
+ 112
362
+ 113</pre>
363
363
  </td>
364
364
  <td>
365
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 378</span>
365
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 109</span>
366
366
 
367
367
  <span class='kw'>def</span> <span class='id identifier rubyid_compare'>compare</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='comma'>,</span> <span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span>
368
368
  <span class='id identifier rubyid_left'>left</span> <span class='op'>=</span> <span class='id identifier rubyid_left'>left</span><span class='period'>.</span><span class='id identifier rubyid_to_str'>to_str</span> <span class='kw'>if</span> <span class='id identifier rubyid_left'>left</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'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='rparen'>)</span>
@@ -452,20 +452,20 @@
452
452
  <pre class="lines">
453
453
 
454
454
 
455
- 305
456
- 306
457
- 307
458
- 308
459
- 309
460
- 310
461
- 311
462
- 312
463
- 313
464
- 314
465
- 315</pre>
455
+ 36
456
+ 37
457
+ 38
458
+ 39
459
+ 40
460
+ 41
461
+ 42
462
+ 43
463
+ 44
464
+ 45
465
+ 46</pre>
466
466
  </td>
467
467
  <td>
468
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 305</span>
468
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 36</span>
469
469
 
470
470
  <span class='kw'>def</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
471
471
  <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:zone</span><span class='rparen'>)</span> <span class='kw'>do</span>
@@ -561,12 +561,12 @@
561
561
  <pre class="lines">
562
562
 
563
563
 
564
- 296
565
- 297
566
- 298</pre>
564
+ 27
565
+ 28
566
+ 29</pre>
567
567
  </td>
568
568
  <td>
569
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 296</span>
569
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 27</span>
570
570
 
571
571
  <span class='kw'>def</span> <span class='id identifier rubyid_format_offset'>format_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</span><span class='comma'>,</span> <span class='id identifier rubyid_colon'>colon</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
572
572
  <span class='id identifier rubyid_seconds_to_utc_offset'>seconds_to_utc_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</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'>Rational</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</span> <span class='op'>*</span> <span class='int'>86_400</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>:</span> <span class='id identifier rubyid_offset'>offset</span><span class='comma'>,</span> <span class='id identifier rubyid_colon'>colon</span><span class='rparen'>)</span>
@@ -656,27 +656,27 @@
656
656
  <pre class="lines">
657
657
 
658
658
 
659
- 322
660
- 323
661
- 324
662
- 325
663
- 326
664
- 327
665
- 328
666
- 329
667
- 330
668
- 331</pre>
659
+ 53
660
+ 54
661
+ 55
662
+ 56
663
+ 57
664
+ 58
665
+ 59
666
+ 60
667
+ 61
668
+ 62</pre>
669
669
  </td>
670
670
  <td>
671
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 322</span>
671
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 53</span>
672
672
 
673
673
  <span class='kw'>def</span> <span class='id identifier rubyid_list_all'>list_all</span><span class='lparen'>(</span><span class='id identifier rubyid_with_dst'>with_dst</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
674
674
  <span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>(DST)</span><span class='tstring_end'>&quot;</span></span>
675
675
 
676
676
  <span class='ivar'>@zones_names</span> <span class='op'>||=</span> <span class='lbrace'>{</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STANDARD</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
677
677
  <span class='ivar'>@zones_names</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DST[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst_label'>dst_label</span><span class='embexpr_end'>}</span><span class='tstring_content'>]-STANDARD</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>
678
- </span><span class='id identifier rubyid_ .map'> .map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_zone'>zone</span><span class='op'>|</span> <span class='id identifier rubyid_fetch_aliases'>fetch_aliases</span><span class='lparen'>(</span><span class='id identifier rubyid_zone'>zone</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>
679
- </span><span class='id identifier rubyid_ .sort'> .sort</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='op'>|</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_compare'>compare</span><span class='lparen'>(</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='comment'># Sort by name
678
+ </span><span class='id identifier rubyid_ .map'> .map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_zone'>zone</span><span class='op'>|</span> <span class='id identifier rubyid_fetch_aliases'>fetch_aliases</span><span class='lparen'>(</span><span class='id identifier rubyid_zone'>zone</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_flatten'>flatten</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span><span class='period'>
679
+ </span><span class='id identifier rubyid_ .sort'> .sort</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='op'>|</span> <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='period'>.</span><span class='id identifier rubyid_compare'>compare</span><span class='lparen'>(</span><span class='id identifier rubyid_a'>a</span><span class='comma'>,</span> <span class='id identifier rubyid_b'>b</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='comment'># Sort by name
680
680
  </span>
681
681
  <span class='ivar'>@zones_names</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_with_dst'>with_dst</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DST[</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_dst_label'>dst_label</span><span class='embexpr_end'>}</span><span class='tstring_content'>]-</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='embexpr_end'>}</span><span class='tstring_content'>STANDARD</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
682
682
  <span class='kw'>end</span></pre>
@@ -768,21 +768,21 @@ DateTime.parameterize_zone(ActiveSupport::TimeZone["Pacific Time (US &amp; Canad
768
768
  <pre class="lines">
769
769
 
770
770
 
771
- 342
772
- 343
773
- 344
774
- 345
775
- 346
776
- 347
777
- 348
778
- 349
779
- 350
780
- 351
781
- 352
782
- 353</pre>
771
+ 73
772
+ 74
773
+ 75
774
+ 76
775
+ 77
776
+ 78
777
+ 79
778
+ 80
779
+ 81
780
+ 82
781
+ 83
782
+ 84</pre>
783
783
  </td>
784
784
  <td>
785
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 342</span>
785
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 73</span>
786
786
 
787
787
  <span class='kw'>def</span> <span class='id identifier rubyid_parameterize_zone'>parameterize_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_tz'>tz</span><span class='comma'>,</span> <span class='id identifier rubyid_with_offset'>with_offset</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
788
788
  <span class='id identifier rubyid_tz'>tz</span> <span class='op'>=</span> <span class='id identifier rubyid_tz'>tz</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='kw'>unless</span> <span class='id identifier rubyid_tz'>tz</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'>String</span><span class='rparen'>)</span>
@@ -862,12 +862,12 @@ DateTime.parameterize_zone(ActiveSupport::TimeZone["Pacific Time (US &amp; Canad
862
862
  <pre class="lines">
863
863
 
864
864
 
865
- 287
866
- 288
867
- 289</pre>
865
+ 18
866
+ 19
867
+ 20</pre>
868
868
  </td>
869
869
  <td>
870
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 287</span>
870
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 18</span>
871
871
 
872
872
  <span class='kw'>def</span> <span class='id identifier rubyid_rationalize_offset'>rationalize_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
873
873
  <span class='op'>::</span><span class='const'>TZInfo</span><span class='op'>::</span><span class='const'>OffsetRationals</span><span class='period'>.</span><span class='id identifier rubyid_rational_for_offset'>rational_for_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</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'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_offset'>offset</span> <span class='op'>:</span> <span class='id identifier rubyid_offset'>offset</span><span class='period'>.</span><span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
@@ -979,19 +979,19 @@ DateTime.parameterize_zone(ActiveSupport::TimeZone["Pacific Time (US &amp; Canad
979
979
  <pre class="lines">
980
980
 
981
981
 
982
- 362
983
- 363
984
- 364
985
- 365
986
- 366
987
- 367
988
- 368
989
- 369
990
- 370
991
- 371</pre>
982
+ 93
983
+ 94
984
+ 95
985
+ 96
986
+ 97
987
+ 98
988
+ 99
989
+ 100
990
+ 101
991
+ 102</pre>
992
992
  </td>
993
993
  <td>
994
- <pre class="code"><span class="info file"># File 'lib/lazier/datetime.rb', line 362</span>
994
+ <pre class="code"><span class="info file"># File 'lib/lazier/timezone.rb', line 93</span>
995
995
 
996
996
  <span class='kw'>def</span> <span class='id identifier rubyid_unparameterize_zone'>unparameterize_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_tz'>tz</span><span class='comma'>,</span> <span class='id identifier rubyid_as_string'>as_string</span> <span class='op'>=</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
997
997
  <span class='id identifier rubyid_tz'>tz</span> <span class='op'>=</span> <span class='id identifier rubyid_parameterize_zone'>parameterize_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_tz'>tz</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
@@ -1013,7 +1013,7 @@ DateTime.parameterize_zone(ActiveSupport::TimeZone["Pacific Time (US &amp; Canad
1013
1013
  </div>
1014
1014
 
1015
1015
  <div id="footer">
1016
- Generated on Sun Apr 27 17:16:42 2014 by
1016
+ Generated on Sat May 10 10:54:36 2014 by
1017
1017
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1018
1018
  0.8.7.4 (ruby-2.1.0).
1019
1019
  </div>
@@ -149,7 +149,7 @@
149
149
 
150
150
  </div>
151
151
  </dt>
152
- <dd><pre class="code"><span class='int'>2</span></pre></dd>
152
+ <dd><pre class="code"><span class='int'>3</span></pre></dd>
153
153
 
154
154
  <dt id="STRING-constant" class="">STRING =
155
155
  <div class="docstring">
@@ -180,7 +180,7 @@
180
180
  </div>
181
181
 
182
182
  <div id="footer">
183
- Generated on Sun Apr 27 17:16:42 2014 by
183
+ Generated on Sat May 10 10:54:36 2014 by
184
184
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
185
185
  0.8.7.4 (ruby-2.1.0).
186
186
  </div>
data/doc/_index.html CHANGED
@@ -333,7 +333,7 @@
333
333
  </div>
334
334
 
335
335
  <div id="footer">
336
- Generated on Sun Apr 27 17:16:41 2014 by
336
+ Generated on Sat May 10 10:54:35 2014 by
337
337
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
338
338
  0.8.7.4 (ruby-2.1.0).
339
339
  </div>
data/doc/file.README.html CHANGED
@@ -106,7 +106,7 @@ See documentation for more informations.</p>
106
106
  </div></div>
107
107
 
108
108
  <div id="footer">
109
- Generated on Sun Apr 27 17:16:41 2014 by
109
+ Generated on Sat May 10 10:54:35 2014 by
110
110
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
111
111
  0.8.7.4 (ruby-2.1.0).
112
112
  </div>
data/doc/index.html CHANGED
@@ -106,7 +106,7 @@ See documentation for more informations.</p>
106
106
  </div></div>
107
107
 
108
108
  <div id="footer">
109
- Generated on Sun Apr 27 17:16:41 2014 by
109
+ Generated on Sat May 10 10:54:35 2014 by
110
110
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
111
111
  0.8.7.4 (ruby-2.1.0).
112
112
  </div>
data/doc/method_list.html CHANGED
@@ -264,14 +264,14 @@
264
264
 
265
265
 
266
266
  <li class="r1 ">
267
- <span class='object_link'><a href="Lazier/Settings.html#i18n-instance_method" title="Lazier::Settings#i18n (method)">#i18n</a></span>
268
- <small>Lazier::Settings</small>
267
+ <span class='object_link'><a href="Lazier/I18n.html#i18n-instance_method" title="Lazier::I18n#i18n (method)">#i18n</a></span>
268
+ <small>Lazier::I18n</small>
269
269
  </li>
270
270
 
271
271
 
272
272
  <li class="r2 ">
273
- <span class='object_link'><a href="Lazier/I18n.html#i18n-instance_method" title="Lazier::I18n#i18n (method)">#i18n</a></span>
274
- <small>Lazier::I18n</small>
273
+ <span class='object_link'><a href="Lazier/Settings.html#i18n-instance_method" title="Lazier::Settings#i18n (method)">#i18n</a></span>
274
+ <small>Lazier::Settings</small>
275
275
  </li>
276
276
 
277
277
 
@@ -318,26 +318,26 @@
318
318
 
319
319
 
320
320
  <li class="r2 ">
321
- <span class='object_link'><a href="Lazier/Localizer.html#initialize-instance_method" title="Lazier::Localizer#initialize (method)">#initialize</a></span>
322
- <small>Lazier::Localizer</small>
321
+ <span class='object_link'><a href="Lazier/Settings.html#initialize-instance_method" title="Lazier::Settings#initialize (method)">#initialize</a></span>
322
+ <small>Lazier::Settings</small>
323
323
  </li>
324
324
 
325
325
 
326
326
  <li class="r1 ">
327
- <span class='object_link'><a href="Lazier/Configuration.html#initialize-instance_method" title="Lazier::Configuration#initialize (method)">#initialize</a></span>
328
- <small>Lazier::Configuration</small>
327
+ <span class='object_link'><a href="Lazier/Localizer.html#initialize-instance_method" title="Lazier::Localizer#initialize (method)">#initialize</a></span>
328
+ <small>Lazier::Localizer</small>
329
329
  </li>
330
330
 
331
331
 
332
332
  <li class="r2 ">
333
- <span class='object_link'><a href="Lazier/Settings.html#initialize-instance_method" title="Lazier::Settings#initialize (method)">#initialize</a></span>
334
- <small>Lazier::Settings</small>
333
+ <span class='object_link'><a href="Lazier/Exceptions/MissingTranslation.html#initialize-instance_method" title="Lazier::Exceptions::MissingTranslation#initialize (method)">#initialize</a></span>
334
+ <small>Lazier::Exceptions::MissingTranslation</small>
335
335
  </li>
336
336
 
337
337
 
338
338
  <li class="r1 ">
339
- <span class='object_link'><a href="Lazier/Exceptions/MissingTranslation.html#initialize-instance_method" title="Lazier::Exceptions::MissingTranslation#initialize (method)">#initialize</a></span>
340
- <small>Lazier::Exceptions::MissingTranslation</small>
339
+ <span class='object_link'><a href="Lazier/Configuration.html#initialize-instance_method" title="Lazier::Configuration#initialize (method)">#initialize</a></span>
340
+ <small>Lazier::Configuration</small>
341
341
  </li>
342
342
 
343
343
 
@@ -492,14 +492,14 @@
492
492
 
493
493
 
494
494
  <li class="r1 ">
495
- <span class='object_link'><a href="Lazier/TimeZone/ClassMethods.html#parameterize_zone-instance_method" title="Lazier::TimeZone::ClassMethods#parameterize_zone (method)">#parameterize_zone</a></span>
496
- <small>Lazier::TimeZone::ClassMethods</small>
495
+ <span class='object_link'><a href="Lazier/DateTime/ClassMethods.html#parameterize_zone-instance_method" title="Lazier::DateTime::ClassMethods#parameterize_zone (method)">#parameterize_zone</a></span>
496
+ <small>Lazier::DateTime::ClassMethods</small>
497
497
  </li>
498
498
 
499
499
 
500
500
  <li class="r2 ">
501
- <span class='object_link'><a href="Lazier/DateTime/ClassMethods.html#parameterize_zone-instance_method" title="Lazier::DateTime::ClassMethods#parameterize_zone (method)">#parameterize_zone</a></span>
502
- <small>Lazier::DateTime::ClassMethods</small>
501
+ <span class='object_link'><a href="Lazier/TimeZone/ClassMethods.html#parameterize_zone-instance_method" title="Lazier::TimeZone::ClassMethods#parameterize_zone (method)">#parameterize_zone</a></span>
502
+ <small>Lazier::TimeZone::ClassMethods</small>
503
503
  </li>
504
504
 
505
505
 
@@ -510,14 +510,14 @@
510
510
 
511
511
 
512
512
  <li class="r2 ">
513
- <span class='object_link'><a href="Lazier/DateTime/ClassMethods.html#rationalize_offset-instance_method" title="Lazier::DateTime::ClassMethods#rationalize_offset (method)">#rationalize_offset</a></span>
514
- <small>Lazier::DateTime::ClassMethods</small>
513
+ <span class='object_link'><a href="Lazier/TimeZone/ClassMethods.html#rationalize_offset-instance_method" title="Lazier::TimeZone::ClassMethods#rationalize_offset (method)">#rationalize_offset</a></span>
514
+ <small>Lazier::TimeZone::ClassMethods</small>
515
515
  </li>
516
516
 
517
517
 
518
518
  <li class="r1 ">
519
- <span class='object_link'><a href="Lazier/TimeZone/ClassMethods.html#rationalize_offset-instance_method" title="Lazier::TimeZone::ClassMethods#rationalize_offset (method)">#rationalize_offset</a></span>
520
- <small>Lazier::TimeZone::ClassMethods</small>
519
+ <span class='object_link'><a href="Lazier/DateTime/ClassMethods.html#rationalize_offset-instance_method" title="Lazier::DateTime::ClassMethods#rationalize_offset (method)">#rationalize_offset</a></span>
520
+ <small>Lazier::DateTime::ClassMethods</small>
521
521
  </li>
522
522
 
523
523
 
@@ -678,14 +678,14 @@
678
678
 
679
679
 
680
680
  <li class="r2 ">
681
- <span class='object_link'><a href="Lazier/String.html#value-instance_method" title="Lazier::String#value (method)">#value</a></span>
682
- <small>Lazier::String</small>
681
+ <span class='object_link'><a href="Lazier/Boolean.html#value-instance_method" title="Lazier::Boolean#value (method)">#value</a></span>
682
+ <small>Lazier::Boolean</small>
683
683
  </li>
684
684
 
685
685
 
686
686
  <li class="r1 ">
687
- <span class='object_link'><a href="Lazier/Boolean.html#value-instance_method" title="Lazier::Boolean#value (method)">#value</a></span>
688
- <small>Lazier::Boolean</small>
687
+ <span class='object_link'><a href="Lazier/String.html#value-instance_method" title="Lazier::String#value (method)">#value</a></span>
688
+ <small>Lazier::String</small>
689
689
  </li>
690
690
 
691
691
 
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sun Apr 27 17:16:41 2014 by
106
+ Generated on Sat May 10 10:54:35 2014 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.4 (ruby-2.1.0).
109
109
  </div>
data/lib/lazier.rb CHANGED
@@ -22,6 +22,7 @@ require "lazier/boolean"
22
22
  require "lazier/string"
23
23
  require "lazier/hash"
24
24
  require "lazier/datetime"
25
+ require "lazier/timezone"
25
26
  require "lazier/math"
26
27
  require "lazier/pathname"
27
28
 
@@ -273,296 +273,4 @@ module Lazier
273
273
  ::Lazier.settings.date_names[type][index]
274
274
  end
275
275
  end
276
-
277
- # Extensions for timezone objects.
278
- module TimeZone
279
- extend ::ActiveSupport::Concern
280
-
281
- # General methods.
282
- module ClassMethods
283
- # Returns an offset in rational value.
284
- #
285
- # @param offset [Fixnum] The offset to convert.
286
- # @return [Rational] The converted offset.
287
- def rationalize_offset(offset)
288
- ::TZInfo::OffsetRationals.rational_for_offset(offset.is_a?(::Fixnum) ? offset : offset.offset)
289
- end
290
-
291
- # Returns a +HH:MM formatted representation of the offset.
292
- #
293
- # @param offset [Rational|Fixnum] The offset to represent, in seconds or as a rational.
294
- # @param colon [Boolean] If to put the colon in the output string.
295
- # @return [String] The formatted offset.
296
- def format_offset(offset, colon = true)
297
- seconds_to_utc_offset(offset.is_a?(::Rational) ? (offset * 86_400).to_i : offset, colon)
298
- end
299
-
300
- # Find a zone by its name.
301
- #
302
- # @param name [String] The zone name.
303
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
304
- # @return [TimeZone] A timezone or `nil` if no zone was found.
305
- def find(name, dst_label = nil)
306
- catch(:zone) do
307
- ::ActiveSupport::TimeZone.all.each do |zone|
308
- zone.aliases.each do |zone_alias|
309
- throw(:zone, zone) if [zone.to_str(zone_alias), zone.to_str_with_dst(dst_label, nil, zone_alias)].include?(name)
310
- end
311
- end
312
-
313
- nil
314
- end
315
- end
316
-
317
- # Returns a list of names of all timezones.
318
- #
319
- # @param with_dst [Boolean] If include DST version of the zones.
320
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
321
- # @return [Array] A list of names of timezones.
322
- def list_all(with_dst = true, dst_label = nil)
323
- dst_label ||= "(DST)"
324
-
325
- @zones_names ||= { "STANDARD" => ::ActiveSupport::TimeZone.all.map(&:to_s) }
326
- @zones_names["DST[#{dst_label}]-STANDARD"] ||= ::ActiveSupport::TimeZone.all
327
- .map { |zone| fetch_aliases(zone, dst_label) }.flatten.compact.uniq
328
- .sort { |a, b| ::ActiveSupport::TimeZone.compare(a, b) } # Sort by name
329
-
330
- @zones_names["#{with_dst ? "DST[#{dst_label}]-" : ""}STANDARD"]
331
- end
332
-
333
- # Returns a string representation of a timezone.
334
- #
335
- # ```ruby
336
- # DateTime.parameterize_zone(ActiveSupport::TimeZone["Pacific Time (US & Canada)"])
337
- # # => "-0800@pacific-time-us-canada"
338
- # ```
339
- # @param tz [TimeZone] The zone to represent.
340
- # @param with_offset [Boolean] If to include offset into the representation.
341
- # @return [String] A string representation which can be used for searches.
342
- def parameterize_zone(tz, with_offset = true)
343
- tz = tz.to_s unless tz.is_a?(::String)
344
- mo = /^(\([a-z]+([+-])(\d{2})(:?)(\d{2})\)\s(.+))$/i.match(tz)
345
-
346
- if mo
347
- with_offset ? "#{mo[2]}#{mo[3]}#{mo[5]}@#{mo[6].to_s.parameterize}" : mo[6].to_s.parameterize
348
- elsif !with_offset then
349
- tz.gsub(/^([+-]?(\d{2})(:?)(\d{2})@)/, "")
350
- else
351
- tz.parameterize
352
- end
353
- end
354
-
355
- # Finds a parameterized timezone.
356
- # @see DateTime#parameterize_zone
357
- #
358
- # @param tz [String] The zone to unparameterize.
359
- # @param as_string [Boolean] If return just the zone name.
360
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
361
- # @return [String|TimeZone] The found timezone or `nil` if the zone is not valid.
362
- def unparameterize_zone(tz, as_string = false, dst_label = nil)
363
- tz = parameterize_zone(tz, false)
364
- rv = find_parameterized_zone(dst_label, /(#{Regexp.quote(tz)})$/)
365
-
366
- if rv
367
- as_string ? rv : find(rv, dst_label)
368
- else
369
- nil
370
- end
371
- end
372
-
373
- # Compares two timezones. They are sorted by the location name.
374
- #
375
- # @param left [String|TimeZone] The first zone name to compare.
376
- # @param right [String|TimeZone] The second zone name to compare.
377
- # @return [Fixnum] The result of comparison, like Ruby's operator `<=>`.
378
- def compare(left, right)
379
- left = left.to_str if left.is_a?(::ActiveSupport::TimeZone)
380
- right = right.to_str if right.is_a?(::ActiveSupport::TimeZone)
381
- left.ensure_string.split(" ", 2)[1] <=> right.ensure_string.split(" ", 2)[1]
382
- end
383
-
384
- private
385
-
386
- # Returns a list of aliases for a given time zone.
387
- #
388
- # @param zone [ActiveSupport::TimeZone] The zone.
389
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
390
- def fetch_aliases(zone, dst_label = "(DST)")
391
- matcher = /(#{Regexp.quote(dst_label)})$/
392
-
393
- zone.aliases.map { |zone_alias|
394
- [zone.to_str(zone_alias), (zone.uses_dst? && zone_alias !~ matcher) ? zone.to_str_with_dst(dst_label, nil, zone_alias) : nil]
395
- }
396
- end
397
-
398
- # Finds a parameterized timezone.
399
- #
400
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
401
- # @param matcher [Regexp] The expression to match.
402
- # @return [TimeZone] The found timezone or `nil` if the zone is not valid.
403
- def find_parameterized_zone(dst_label, matcher)
404
- catch(:zone) do
405
- list_all(true, dst_label).each do |zone|
406
- throw(:zone, zone) if parameterize_zone(zone, false) =~ matcher
407
- end
408
-
409
- nil
410
- end
411
- end
412
- end
413
-
414
- # Returns a list of valid aliases (city names) for this timezone (basing on offset).
415
- # @return [Array] A list of aliases for this timezone
416
- def aliases
417
- reference = self.class::MAPPING.fetch(name, name).gsub("_", " ")
418
- @aliases ||= ([reference] + self.class::MAPPING.map { |name, zone| format_alias(name, zone, reference) }).uniq.compact.sort
419
- end
420
-
421
- # Returns the current offset for this timezone, taking care of Daylight Saving Time (DST).
422
- #
423
- # @param rational [Boolean] If to return the offset as a Rational.
424
- # @param date [DateTime] The date to consider. Defaults to now.
425
- # @return [Fixnum|Rational] The offset of this timezone.
426
- def current_offset(rational = false, date = nil)
427
- date ||= ::DateTime.now
428
- rv = (period_for_utc(date.utc).dst? ? dst_offset : offset)
429
- rational ? self.class.rationalize_offset(rv) : rv
430
- end
431
-
432
- # Returns the current alias for this timezone.
433
- #
434
- # @return [String] The current alias or the first alias of the current timezone.
435
- def current_alias
436
- identifier = tzinfo.identifier
437
-
438
- catch(:alias) do
439
- aliases.each do |a|
440
- throw(:alias, a) if a == identifier
441
- end
442
-
443
- aliases.first
444
- end
445
- end
446
-
447
- # Returns the standard offset for this timezone.
448
- #
449
- # @param rational [Boolean] If to return the offset as a Rational.
450
- # @return [Fixnum|Rational] The offset of this timezone.
451
- def offset(rational = false)
452
- rational ? self.class.rationalize_offset(utc_offset) : utc_offset
453
- end
454
-
455
- # Gets a period for this timezone when the Daylight Saving Time (DST) is active (it takes care of different hemispheres).
456
- #
457
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
458
- # @return [TimezonePeriod] A period when the Daylight Saving Time (DST) is active or `nil` if the timezone doesn't use DST for that year.
459
- def dst_period(year = nil)
460
- year ||= ::Date.today.year
461
-
462
- northern_summer = ::DateTime.civil(year, 7, 15).utc # This is a representation of a summer period in the Northern Hemisphere.
463
- southern_summer = ::DateTime.civil(year, 1, 15).utc # This is a representation of a summer period in the Southern Hemisphere.
464
-
465
- period = period_for_utc(northern_summer)
466
- period = period_for_utc(southern_summer) unless period.dst?
467
- period.dst? ? period : nil
468
- end
469
-
470
- # Checks if the timezone uses Daylight Saving Time (DST) for that date or year.
471
- #
472
- # @param reference [Object] The date or year to check. Defaults to the current year.
473
- # @return [Boolean] `true` if the zone uses DST for that date or year, `false` otherwise.
474
- def uses_dst?(reference = nil)
475
- if reference.respond_to?(:year) && reference.respond_to?(:utc) # This is a date like object
476
- dst_period(reference.year).present? && period_for_utc(reference.utc).dst?
477
- else
478
- dst_period(reference).present?
479
- end
480
- end
481
-
482
- # Return the correction applied to the standard offset the timezone when the Daylight Saving Time (DST) is active.
483
- #
484
- # @param rational [Boolean] If to return the offset as a Rational.
485
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
486
- # @return [Fixnum|Rational] The correction for dst.
487
- def dst_correction(rational = false, year = nil)
488
- dst_offset(rational, year, :std_offset)
489
- end
490
-
491
- # Returns the standard offset for this timezone timezone when the Daylight Saving Time (DST) is active.
492
- #
493
- # @param rational [Boolean] If to return the offset as a Rational.
494
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
495
- # @param method [Symbol] The method to use for getting the offset. Default is total offset from UTC.
496
- # @return [Fixnum|Rational] The DST offset for this timezone or `0`, if the timezone doesn't use DST for that year.
497
- def dst_offset(rational = false, year = nil, method = :utc_total_offset)
498
- period = dst_period(year)
499
- rv = period ? period.send(method) : 0
500
- rational ? self.class.rationalize_offset(rv) : rv
501
- end
502
-
503
- # Returns the name for this zone with Daylight Saving Time (DST) active.
504
- #
505
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
506
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
507
- # @param name [String] The name to use for this zone. Defaults to the zone name.
508
- # @return [String] The name for the zone with DST or `nil`, if the timezone doesn't use DST for that year.
509
- def dst_name(dst_label = nil, year = nil, name = nil)
510
- uses_dst?(year) ? "#{name || self.name} #{dst_label || "(DST)"}" : nil
511
- end
512
-
513
- # Returns the name for this zone with Daylight Saving Time (DST) active.
514
- #
515
- # @param name [String] The name to use for this zone. Defaults to the zone name.
516
- # @param colon [Boolean] If to put the colon in the output string.
517
- # @return [String] The name for this zone.
518
- def to_str(name = nil, colon = true)
519
- "(GMT#{formatted_offset(colon)}) #{name || current_alias}"
520
- end
521
-
522
- # Returns a string representation for this zone with Daylight Saving Time (DST) active.
523
- #
524
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
525
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
526
- # @param name [String] The name to use for this zone. Defaults to the zone name.
527
- # @return [String] The string representation for the zone with DST or `nil`, if the timezone doesn't use DST for that year.
528
- def to_str_with_dst(dst_label = nil, year = nil, name = nil)
529
- uses_dst?(year) ? "(GMT#{self.class.seconds_to_utc_offset(dst_period(year).utc_total_offset)}) #{name || current_alias} #{dst_label || "(DST)"}" : nil
530
- end
531
-
532
- # Returns a parameterized string representation for this zone.
533
- #
534
- # @param with_offset [Boolean] If to include offset into the representation.
535
- # @param name [String] The name to use for this zone. Defaults to the zone name.
536
- # @return [String] The parameterized string representation for this zone.
537
- def to_str_parameterized(with_offset = true, name = nil)
538
- ::ActiveSupport::TimeZone.parameterize_zone(name || to_str, with_offset)
539
- end
540
-
541
- # Returns a parameterized string representation for this zone with Daylight Saving Time (DST) active.
542
- #
543
- # @param dst_label [String] Label for the DST indication. Defaults to `(DST)`.
544
- # @param year [Fixnum] The year to which refer to. Defaults to the current year.
545
- # @param name [String] The name to use for this zone. Defaults to the zone name.
546
- # @return [String] The parameterized string representation for this zone with DST or `nil`, if the timezone doesn't use DST for that year.
547
- def to_str_with_dst_parameterized(dst_label = nil, year = nil, name = nil)
548
- rv = to_str_with_dst(dst_label, year, name)
549
- rv ? ::ActiveSupport::TimeZone.parameterize_zone(rv) : nil
550
- end
551
-
552
- private
553
-
554
- # Formats a time zone alias.
555
- #
556
- # @param name [String] The zone name.
557
- # @param zone [String] The zone.
558
- # @param reference [String] The main name for the zone.
559
- # @return [String|nil] The formatted alias.
560
- def format_alias(name, zone, reference)
561
- if zone.gsub("_", " ") == reference
562
- ["International Date Line West", "UTC"].include?(name) || name.include?("(US & Canada)") ? name : reference.gsub(/\/.*/, "/#{name}")
563
- else
564
- nil
565
- end
566
- end
567
- end
568
276
  end