cowtech-extensions 2.1.3 → 2.5.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.
Files changed (60) hide show
  1. data/.gitignore +1 -0
  2. data/.yardopts +1 -0
  3. data/README.md +10 -0
  4. data/Rakefile +6 -3
  5. data/cowtech-extensions.gemspec +9 -5
  6. data/doc/Cowtech.html +128 -0
  7. data/doc/Cowtech/Extensions.html +546 -0
  8. data/doc/Cowtech/Extensions/Boolean.html +297 -0
  9. data/doc/Cowtech/Extensions/DateTime.html +787 -0
  10. data/doc/Cowtech/Extensions/DateTime/ClassMethods.html +1592 -0
  11. data/doc/Cowtech/Extensions/Exceptions.html +125 -0
  12. data/doc/Cowtech/Extensions/Exceptions/Dump.html +133 -0
  13. data/doc/Cowtech/Extensions/Hash.html +393 -0
  14. data/doc/Cowtech/Extensions/Math.html +130 -0
  15. data/doc/Cowtech/Extensions/Math/ClassMethods.html +362 -0
  16. data/doc/Cowtech/Extensions/Object.html +1565 -0
  17. data/doc/Cowtech/Extensions/Pathname.html +225 -0
  18. data/doc/Cowtech/Extensions/Settings.html +1249 -0
  19. data/doc/Cowtech/Extensions/String.html +471 -0
  20. data/doc/Cowtech/Extensions/TimeZone.html +1210 -0
  21. data/doc/Cowtech/Extensions/TimeZone/ClassMethods.html +925 -0
  22. data/doc/Cowtech/Extensions/Version.html +189 -0
  23. data/doc/_index.html +305 -0
  24. data/doc/class_list.html +53 -0
  25. data/doc/css/common.css +1 -0
  26. data/doc/css/full_list.css +57 -0
  27. data/doc/css/style.css +328 -0
  28. data/doc/file.README.html +103 -0
  29. data/doc/file_list.html +55 -0
  30. data/doc/frames.html +28 -0
  31. data/doc/index.html +103 -0
  32. data/doc/js/app.js +214 -0
  33. data/doc/js/full_list.js +173 -0
  34. data/doc/js/jquery.js +4 -0
  35. data/doc/method_list.html +620 -0
  36. data/doc/top-level-namespace.html +112 -0
  37. data/lib/cowtech-extensions.rb +47 -16
  38. data/lib/cowtech-extensions/boolean.rb +8 -1
  39. data/lib/cowtech-extensions/datetime.rb +377 -71
  40. data/lib/cowtech-extensions/exceptions.rb +16 -0
  41. data/lib/cowtech-extensions/hash.rb +20 -9
  42. data/lib/cowtech-extensions/math.rb +15 -8
  43. data/lib/cowtech-extensions/object.rb +84 -27
  44. data/lib/cowtech-extensions/pathname.rb +10 -1
  45. data/lib/cowtech-extensions/settings.rb +120 -0
  46. data/lib/cowtech-extensions/string.rb +30 -3
  47. data/lib/cowtech-extensions/version.rb +11 -2
  48. data/spec/coverage_helper.rb +19 -0
  49. data/spec/cowtech-extensions/boolean_spec.rb +4 -0
  50. data/spec/cowtech-extensions/datetime_spec.rb +238 -79
  51. data/spec/cowtech-extensions/hash_spec.rb +5 -2
  52. data/spec/cowtech-extensions/math_spec.rb +14 -4
  53. data/spec/cowtech-extensions/object_spec.rb +19 -1
  54. data/spec/cowtech-extensions/pathname_spec.rb +5 -1
  55. data/spec/cowtech-extensions/settings_spec.rb +101 -0
  56. data/spec/cowtech-extensions/string_spec.rb +13 -0
  57. data/spec/cowtech-extensions_spec.rb +33 -13
  58. data/spec/spec_helper.rb +2 -5
  59. metadata +182 -97
  60. data/lib/cowtech-extensions/utils.rb +0 -74
@@ -0,0 +1,1592 @@
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
+ Module: Cowtech::Extensions::DateTime::ClassMethods
8
+
9
+ &mdash; Documentation by YARD 0.8.2.1
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../../css/common.css" type="text/css" media="screen" 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="../../../Cowtech.html" title="Cowtech (module)">Cowtech</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Extensions.html" title="Cowtech::Extensions (module)">Extensions</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../DateTime.html" title="Cowtech::Extensions::DateTime (module)">DateTime</a></span></span>
36
+ &raquo;
37
+ <span class="title">ClassMethods</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>Module: Cowtech::Extensions::DateTime::ClassMethods
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dt class="r1 last">Defined in:</dt>
82
+ <dd class="r1 last">lib/cowtech-extensions/datetime.rb</dd>
83
+
84
+ </dl>
85
+ <div class="clear"></div>
86
+
87
+ <h2>Overview</h2><div class="docstring">
88
+ <div class="discussion">
89
+ <p>General methods.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+
97
+ </div>
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <h2>
106
+ Instance Method Summary
107
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
108
+ </h2>
109
+
110
+ <ul class="summary">
111
+
112
+ <li class="public ">
113
+ <span class="summary_signature">
114
+
115
+ <a href="#custom_format-instance_method" title="#custom_format (instance method)">- (String) <strong>custom_format</strong>(key) </a>
116
+
117
+
118
+
119
+ </span>
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ <span class="summary_desc"><div class='inline'><p>Lookups a custom datetime format.</p>
130
+ </div></span>
131
+
132
+ </li>
133
+
134
+
135
+ <li class="public ">
136
+ <span class="summary_signature">
137
+
138
+ <a href="#days-instance_method" title="#days (instance method)">- (Array) <strong>days</strong>(short = true) </a>
139
+
140
+
141
+
142
+ </span>
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+
151
+
152
+ <span class="summary_desc"><div class='inline'><p>Returns strings representations of days.</p>
153
+ </div></span>
154
+
155
+ </li>
156
+
157
+
158
+ <li class="public ">
159
+ <span class="summary_signature">
160
+
161
+ <a href="#easter-instance_method" title="#easter (instance method)">- (Date) <strong>easter</strong>(year = nil) </a>
162
+
163
+
164
+
165
+ </span>
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'><p>Returns the Easter (according to Gregorian calendar) date for the year.</p>
176
+ </div></span>
177
+
178
+ </li>
179
+
180
+
181
+ <li class="public ">
182
+ <span class="summary_signature">
183
+
184
+ <a href="#find_timezone-instance_method" title="#find_timezone (instance method)">- (TimeZone) <strong>find_timezone</strong>(name = true, dst_label = nil) </a>
185
+
186
+
187
+
188
+ </span>
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+ <span class="summary_desc"><div class='inline'><p>Find a zone by its name.</p>
199
+ </div></span>
200
+
201
+ </li>
202
+
203
+
204
+ <li class="public ">
205
+ <span class="summary_signature">
206
+
207
+ <a href="#is_valid%3F-instance_method" title="#is_valid? (instance method)">- (Boolean) <strong>is_valid?</strong>(value, format = &quot;%F %T&quot;) </a>
208
+
209
+
210
+
211
+ </span>
212
+
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+ <span class="summary_desc"><div class='inline'><p>Checks if the date is valid against to a specific format.</p>
222
+ </div></span>
223
+
224
+ </li>
225
+
226
+
227
+ <li class="public ">
228
+ <span class="summary_signature">
229
+
230
+ <a href="#list_timezones-instance_method" title="#list_timezones (instance method)">- (Array) <strong>list_timezones</strong>(with_dst = true, dst_label = nil) </a>
231
+
232
+
233
+
234
+ </span>
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+ <span class="summary_desc"><div class='inline'><p>Returns a list of names of all timezones.</p>
245
+ </div></span>
246
+
247
+ </li>
248
+
249
+
250
+ <li class="public ">
251
+ <span class="summary_signature">
252
+
253
+ <a href="#months-instance_method" title="#months (instance method)">- (Array) <strong>months</strong>(short = true) </a>
254
+
255
+
256
+
257
+ </span>
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+ <span class="summary_desc"><div class='inline'><p>Returns strings representations of months.</p>
268
+ </div></span>
269
+
270
+ </li>
271
+
272
+
273
+ <li class="public ">
274
+ <span class="summary_signature">
275
+
276
+ <a href="#parameterize_zone-instance_method" title="#parameterize_zone (instance method)">- (String) <strong>parameterize_zone</strong>(tz, with_offset = true) </a>
277
+
278
+
279
+
280
+ </span>
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <span class="summary_desc"><div class='inline'><p>Returns a string representation of a timezone.</p>
291
+ </div></span>
292
+
293
+ </li>
294
+
295
+
296
+ <li class="public ">
297
+ <span class="summary_signature">
298
+
299
+ <a href="#rationalize_offset-instance_method" title="#rationalize_offset (instance method)">- (Rational) <strong>rationalize_offset</strong>(offset) </a>
300
+
301
+
302
+
303
+ </span>
304
+
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <span class="summary_desc"><div class='inline'><p>Returns an offset in rational value.</p>
314
+ </div></span>
315
+
316
+ </li>
317
+
318
+
319
+ <li class="public ">
320
+ <span class="summary_signature">
321
+
322
+ <a href="#timezones-instance_method" title="#timezones (instance method)">- (Array) <strong>timezones</strong> </a>
323
+
324
+
325
+
326
+ </span>
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+ <span class="summary_desc"><div class='inline'><p>Returns all the availabe timezones.</p>
337
+ </div></span>
338
+
339
+ </li>
340
+
341
+
342
+ <li class="public ">
343
+ <span class="summary_signature">
344
+
345
+ <a href="#unparameterize_zone-instance_method" title="#unparameterize_zone (instance method)">- (String|TimeZone) <strong>unparameterize_zone</strong>(tz, as_string = false, dst_label = nil) </a>
346
+
347
+
348
+
349
+ </span>
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+
359
+ <span class="summary_desc"><div class='inline'><p>Finds a parameterized timezone.</p>
360
+ </div></span>
361
+
362
+ </li>
363
+
364
+
365
+ <li class="public ">
366
+ <span class="summary_signature">
367
+
368
+ <a href="#years-instance_method" title="#years (instance method)">- (Array) <strong>years</strong>(offset = 10, also_future = true, reference = nil, as_objects = false) </a>
369
+
370
+
371
+
372
+ </span>
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+ <span class="summary_desc"><div class='inline'><p>Returns a range of years.</p>
383
+ </div></span>
384
+
385
+ </li>
386
+
387
+
388
+ </ul>
389
+
390
+
391
+
392
+
393
+ <div id="instance_method_details" class="method_details_list">
394
+ <h2>Instance Method Details</h2>
395
+
396
+
397
+ <div class="method_details first">
398
+ <h3 class="signature first" id="custom_format-instance_method">
399
+
400
+ - (<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>) <strong>custom_format</strong>(key)
401
+
402
+
403
+
404
+
405
+
406
+ </h3><div class="docstring">
407
+ <div class="discussion">
408
+ <p>Lookups a custom datetime format.</p>
409
+
410
+
411
+ </div>
412
+ </div>
413
+ <div class="tags">
414
+ <p class="tag_title">Parameters:</p>
415
+ <ul class="param">
416
+
417
+ <li>
418
+
419
+ <span class='name'>key</span>
420
+
421
+
422
+ <span class='type'>(<tt>Symbol</tt>)</span>
423
+
424
+
425
+
426
+ &mdash;
427
+ <div class='inline'><p>The name of the format to search.</p>
428
+ </div>
429
+
430
+ </li>
431
+
432
+ </ul>
433
+
434
+ <p class="tag_title">Returns:</p>
435
+ <ul class="return">
436
+
437
+ <li>
438
+
439
+
440
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
441
+
442
+
443
+
444
+ &mdash;
445
+ <div class='inline'><p>The format or the name itself (if the format has not been found).</p>
446
+ </div>
447
+
448
+ </li>
449
+
450
+ </ul>
451
+
452
+ <p class="tag_title">See Also:</p>
453
+ <ul class="see">
454
+
455
+ <li><span class='object_link'><a href="../Settings.html#setup_date_formats-instance_method" title="Cowtech::Extensions::Settings#setup_date_formats (method)">Settings#setup_date_formats</a></span></li>
456
+
457
+ </ul>
458
+
459
+ </div><table class="source_code">
460
+ <tr>
461
+ <td>
462
+ <pre class="lines">
463
+
464
+
465
+ 152
466
+ 153
467
+ 154</pre>
468
+ </td>
469
+ <td>
470
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 152</span>
471
+
472
+ <span class='kw'>def</span> <span class='id identifier rubyid_custom_format'>custom_format</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
473
+ <span class='op'>::</span><span class='const'>Cowtech</span><span class='op'>::</span><span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_settings'>settings</span><span class='period'>.</span><span class='id identifier rubyid_date_formats'>date_formats</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
474
+ <span class='kw'>end</span></pre>
475
+ </td>
476
+ </tr>
477
+ </table>
478
+ </div>
479
+
480
+ <div class="method_details ">
481
+ <h3 class="signature " id="days-instance_method">
482
+
483
+ - (<tt>Array</tt>) <strong>days</strong>(short = true)
484
+
485
+
486
+
487
+
488
+
489
+ </h3><div class="docstring">
490
+ <div class="discussion">
491
+ <p>Returns strings representations of days.</p>
492
+
493
+
494
+ </div>
495
+ </div>
496
+ <div class="tags">
497
+ <p class="tag_title">Parameters:</p>
498
+ <ul class="param">
499
+
500
+ <li>
501
+
502
+ <span class='name'>short</span>
503
+
504
+
505
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
506
+
507
+
508
+ <em class="default">(defaults to: <tt>true</tt>)</em>
509
+
510
+
511
+ &mdash;
512
+ <div class='inline'><p>If return the abbreviated representations.</p>
513
+ </div>
514
+
515
+ </li>
516
+
517
+ </ul>
518
+
519
+ <p class="tag_title">Returns:</p>
520
+ <ul class="return">
521
+
522
+ <li>
523
+
524
+
525
+ <span class='type'>(<tt>Array</tt>)</span>
526
+
527
+
528
+
529
+ &mdash;
530
+ <div class='inline'><p>Return string representations of days.</p>
531
+ </div>
532
+
533
+ </li>
534
+
535
+ </ul>
536
+
537
+ <p class="tag_title">See Also:</p>
538
+ <ul class="see">
539
+
540
+ <li><span class='object_link'><a href="../Settings.html#setup_date_names-instance_method" title="Cowtech::Extensions::Settings#setup_date_names (method)">Settings#setup_date_names</a></span></li>
541
+
542
+ </ul>
543
+
544
+ </div><table class="source_code">
545
+ <tr>
546
+ <td>
547
+ <pre class="lines">
548
+
549
+
550
+ 20
551
+ 21
552
+ 22
553
+ 23
554
+ 24
555
+ 25
556
+ 26</pre>
557
+ </td>
558
+ <td>
559
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 20</span>
560
+
561
+ <span class='kw'>def</span> <span class='id identifier rubyid_days'>days</span><span class='lparen'>(</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
562
+ <span class='id identifier rubyid_days'>days</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Cowtech</span><span class='op'>::</span><span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_settings'>settings</span><span class='period'>.</span><span class='id identifier rubyid_date_names'>date_names</span><span class='lbracket'>[</span><span class='id identifier rubyid_short'>short</span> <span class='op'>?</span> <span class='symbol'>:short_days</span> <span class='op'>:</span> <span class='symbol'>:long_days</span><span class='rbracket'>]</span>
563
+ <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='int'>7</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
564
+ <span class='lbrace'>{</span><span class='symbol'>:value</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='symbol'>:label</span><span class='op'>=&gt;</span> <span class='id identifier rubyid_days'>days</span><span class='lbracket'>[</span><span class='id identifier rubyid_i'>i</span> <span class='op'>-</span> <span class='int'>1</span><span class='rbracket'>]</span><span class='rbrace'>}</span>
565
+ <span class='rbrace'>}</span>
566
+
567
+ <span class='kw'>end</span></pre>
568
+ </td>
569
+ </tr>
570
+ </table>
571
+ </div>
572
+
573
+ <div class="method_details ">
574
+ <h3 class="signature " id="easter-instance_method">
575
+
576
+ - (<tt>Date</tt>) <strong>easter</strong>(year = nil)
577
+
578
+
579
+
580
+
581
+
582
+ </h3><div class="docstring">
583
+ <div class="discussion">
584
+ <p>Returns the Easter (according to Gregorian calendar) date for the year.</p>
585
+
586
+
587
+ </div>
588
+ </div>
589
+ <div class="tags">
590
+ <p class="tag_title">Parameters:</p>
591
+ <ul class="param">
592
+
593
+ <li>
594
+
595
+ <span class='name'>year</span>
596
+
597
+
598
+ <span class='type'>(<tt>Fixnum</tt>)</span>
599
+
600
+
601
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
602
+
603
+
604
+ &mdash;
605
+ <div class='inline'><p>The year to compute the date for. Defaults to the current year.</p>
606
+ </div>
607
+
608
+ </li>
609
+
610
+ </ul>
611
+
612
+ <p class="tag_title">Returns:</p>
613
+ <ul class="return">
614
+
615
+ <li>
616
+
617
+
618
+ <span class='type'>(<tt>Date</tt>)</span>
619
+
620
+
621
+
622
+ &mdash;
623
+ <div class='inline'><p>The Easter date for the year.</p>
624
+ </div>
625
+
626
+ </li>
627
+
628
+ </ul>
629
+
630
+ <p class="tag_title">See Also:</p>
631
+ <ul class="see">
632
+
633
+ <li><a href="http://en.wikipedia.org/wiki/Computus#Anonymous_Gregorian_algorithm" target="_parent" title="http://en.wikipedia.org/wiki/Computus#Anonymous_Gregorian_algorithm">http://en.wikipedia.org/wiki/Computus#Anonymous_Gregorian_algorithm</a></li>
634
+
635
+ </ul>
636
+
637
+ </div><table class="source_code">
638
+ <tr>
639
+ <td>
640
+ <pre class="lines">
641
+
642
+
643
+ 125
644
+ 126
645
+ 127
646
+ 128
647
+ 129
648
+ 130
649
+ 131
650
+ 132
651
+ 133
652
+ 134
653
+ 135
654
+ 136
655
+ 137
656
+ 138
657
+ 139
658
+ 140
659
+ 141
660
+ 142
661
+ 143
662
+ 144
663
+ 145</pre>
664
+ </td>
665
+ <td>
666
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 125</span>
667
+
668
+ <span class='kw'>def</span> <span class='id identifier rubyid_easter'>easter</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
669
+ <span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_today'>today</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_year'>year</span><span class='period'>.</span><span class='id identifier rubyid_is_integer?'>is_integer?</span>
670
+
671
+ <span class='comment'># Compute using Anonymouse Gregorian Algorithm: http://en.wikipedia.org/wiki/Computus#Anonymous_Gregorian_algorithm
672
+ </span> <span class='id identifier rubyid_a'>a</span> <span class='op'>=</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>%</span> <span class='int'>19</span>
673
+ <span class='id identifier rubyid_b'>b</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span> <span class='op'>/</span> <span class='float'>100.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
674
+ <span class='id identifier rubyid_c'>c</span> <span class='op'>=</span> <span class='id identifier rubyid_year'>year</span> <span class='op'>%</span> <span class='int'>100</span>
675
+ <span class='id identifier rubyid_d'>d</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_b'>b</span> <span class='op'>/</span> <span class='float'>4.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
676
+ <span class='id identifier rubyid_e'>e</span> <span class='op'>=</span> <span class='id identifier rubyid_b'>b</span> <span class='op'>%</span> <span class='int'>4</span>
677
+ <span class='id identifier rubyid_f'>f</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_b'>b</span> <span class='op'>+</span> <span class='int'>8</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='float'>25.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
678
+ <span class='id identifier rubyid_g'>g</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_b'>b</span> <span class='op'>-</span> <span class='id identifier rubyid_f'>f</span> <span class='op'>+</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='float'>3.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
679
+ <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='int'>19</span> <span class='op'>*</span> <span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid_b'>b</span> <span class='op'>-</span> <span class='id identifier rubyid_d'>d</span> <span class='op'>-</span> <span class='id identifier rubyid_g'>g</span> <span class='op'>+</span> <span class='int'>15</span><span class='rparen'>)</span> <span class='op'>%</span> <span class='int'>30</span>
680
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_c'>c</span> <span class='op'>/</span> <span class='float'>4.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
681
+ <span class='id identifier rubyid_k'>k</span> <span class='op'>=</span> <span class='id identifier rubyid_c'>c</span> <span class='op'>%</span> <span class='int'>4</span>
682
+ <span class='id identifier rubyid_l'>l</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='int'>32</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='int'>2</span> <span class='op'>*</span> <span class='id identifier rubyid_e'>e</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='int'>2</span> <span class='op'>*</span> <span class='id identifier rubyid_i'>i</span><span class='rparen'>)</span> <span class='op'>-</span> <span class='id identifier rubyid_h'>h</span> <span class='op'>-</span> <span class='id identifier rubyid_k'>k</span><span class='rparen'>)</span> <span class='op'>%</span> <span class='int'>7</span>
683
+ <span class='id identifier rubyid_m'>m</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_a'>a</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='int'>11</span> <span class='op'>*</span> <span class='id identifier rubyid_h'>h</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='lparen'>(</span><span class='int'>22</span> <span class='op'>*</span> <span class='id identifier rubyid_l'>l</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='float'>451.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
684
+
685
+ <span class='id identifier rubyid_day'>day</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_h'>h</span> <span class='op'>+</span> <span class='id identifier rubyid_l'>l</span> <span class='op'>-</span> <span class='lparen'>(</span><span class='int'>7</span> <span class='op'>*</span> <span class='id identifier rubyid_m'>m</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>114</span><span class='rparen'>)</span> <span class='op'>%</span> <span class='int'>31</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>1</span>
686
+ <span class='id identifier rubyid_month'>month</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_h'>h</span> <span class='op'>+</span> <span class='id identifier rubyid_l'>l</span> <span class='op'>-</span> <span class='lparen'>(</span><span class='int'>7</span> <span class='op'>*</span> <span class='id identifier rubyid_m'>m</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>114</span><span class='rparen'>)</span> <span class='op'>/</span> <span class='float'>31.0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_floor'>floor</span>
687
+ <span class='op'>::</span><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_civil'>civil</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_month'>month</span><span class='comma'>,</span> <span class='id identifier rubyid_day'>day</span><span class='rparen'>)</span>
688
+ <span class='kw'>end</span></pre>
689
+ </td>
690
+ </tr>
691
+ </table>
692
+ </div>
693
+
694
+ <div class="method_details ">
695
+ <h3 class="signature " id="find_timezone-instance_method">
696
+
697
+ - (<tt><span class='object_link'><a href="../TimeZone.html" title="Cowtech::Extensions::TimeZone (module)">TimeZone</a></span></tt>) <strong>find_timezone</strong>(name = true, dst_label = nil)
698
+
699
+
700
+
701
+
702
+
703
+ </h3><div class="docstring">
704
+ <div class="discussion">
705
+ <p>Find a zone by its name.</p>
706
+
707
+
708
+ </div>
709
+ </div>
710
+ <div class="tags">
711
+ <p class="tag_title">Parameters:</p>
712
+ <ul class="param">
713
+
714
+ <li>
715
+
716
+ <span class='name'>name</span>
717
+
718
+
719
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
720
+
721
+
722
+ <em class="default">(defaults to: <tt>true</tt>)</em>
723
+
724
+
725
+ &mdash;
726
+ <div class='inline'><p>The zone name.</p>
727
+ </div>
728
+
729
+ </li>
730
+
731
+ <li>
732
+
733
+ <span class='name'>dst_label</span>
734
+
735
+
736
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
737
+
738
+
739
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
740
+
741
+
742
+ &mdash;
743
+ <div class='inline'><p>Label for the DST indication. Defaults to <code>(Daylight Saving Time)</code>.</p>
744
+ </div>
745
+
746
+ </li>
747
+
748
+ </ul>
749
+
750
+ <p class="tag_title">Returns:</p>
751
+ <ul class="return">
752
+
753
+ <li>
754
+
755
+
756
+ <span class='type'>(<tt><span class='object_link'><a href="../TimeZone.html" title="Cowtech::Extensions::TimeZone (module)">TimeZone</a></span></tt>)</span>
757
+
758
+
759
+
760
+ &mdash;
761
+ <div class='inline'><p>A timezone or <code>nil</code> if no zone was found.</p>
762
+ </div>
763
+
764
+ </li>
765
+
766
+ </ul>
767
+
768
+ </div><table class="source_code">
769
+ <tr>
770
+ <td>
771
+ <pre class="lines">
772
+
773
+
774
+ 84
775
+ 85
776
+ 86</pre>
777
+ </td>
778
+ <td>
779
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 84</span>
780
+
781
+ <span class='kw'>def</span> <span class='id identifier rubyid_find_timezone'>find_timezone</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</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>
782
+ <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_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='rparen'>)</span>
783
+ <span class='kw'>end</span></pre>
784
+ </td>
785
+ </tr>
786
+ </table>
787
+ </div>
788
+
789
+ <div class="method_details ">
790
+ <h3 class="signature " id="is_valid?-instance_method">
791
+
792
+ - (<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>) <strong>is_valid?</strong>(value, format = &quot;%F %T&quot;)
793
+
794
+
795
+
796
+
797
+
798
+ </h3><div class="docstring">
799
+ <div class="discussion">
800
+ <p>Checks if the date is valid against to a specific format.</p>
801
+
802
+
803
+ </div>
804
+ </div>
805
+ <div class="tags">
806
+ <p class="tag_title">Parameters:</p>
807
+ <ul class="param">
808
+
809
+ <li>
810
+
811
+ <span class='name'>value</span>
812
+
813
+
814
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
815
+
816
+
817
+
818
+ &mdash;
819
+ <div class='inline'><p>The value to check.</p>
820
+ </div>
821
+
822
+ </li>
823
+
824
+ <li>
825
+
826
+ <span class='name'>format</span>
827
+
828
+
829
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
830
+
831
+
832
+ <em class="default">(defaults to: <tt>&quot;%F %T&quot;</tt>)</em>
833
+
834
+
835
+ &mdash;
836
+ <div class='inline'><p>The format to check the value against.</p>
837
+ </div>
838
+
839
+ </li>
840
+
841
+ </ul>
842
+
843
+ <p class="tag_title">Returns:</p>
844
+ <ul class="return">
845
+
846
+ <li>
847
+
848
+
849
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
850
+
851
+
852
+
853
+ &mdash;
854
+ <div class='inline'><p><code>true</code> if the value is valid against the format, <code>false</code> otherwise.</p>
855
+ </div>
856
+
857
+ </li>
858
+
859
+ </ul>
860
+
861
+ <p class="tag_title">See Also:</p>
862
+ <ul class="see">
863
+
864
+ <li>DateTime#custom_format</li>
865
+
866
+ </ul>
867
+
868
+ </div><table class="source_code">
869
+ <tr>
870
+ <td>
871
+ <pre class="lines">
872
+
873
+
874
+ 162
875
+ 163
876
+ 164
877
+ 165
878
+ 166
879
+ 167
880
+ 168
881
+ 169
882
+ 170
883
+ 171
884
+ 172
885
+ 173
886
+ 174</pre>
887
+ </td>
888
+ <td>
889
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 162</span>
890
+
891
+ <span class='kw'>def</span> <span class='id identifier rubyid_is_valid?'>is_valid?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%F %T</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
892
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>true</span>
893
+
894
+ <span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_custom_format'>custom_format</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
895
+
896
+ <span class='kw'>begin</span>
897
+ <span class='op'>::</span><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_strptime'>strptime</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='comma'>,</span> <span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
898
+ <span class='kw'>rescue</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span>
899
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>false</span>
900
+ <span class='kw'>end</span>
901
+
902
+ <span class='id identifier rubyid_rv'>rv</span>
903
+ <span class='kw'>end</span></pre>
904
+ </td>
905
+ </tr>
906
+ </table>
907
+ </div>
908
+
909
+ <div class="method_details ">
910
+ <h3 class="signature " id="list_timezones-instance_method">
911
+
912
+ - (<tt>Array</tt>) <strong>list_timezones</strong>(with_dst = true, dst_label = nil)
913
+
914
+
915
+
916
+
917
+
918
+ </h3><div class="docstring">
919
+ <div class="discussion">
920
+ <p>Returns a list of names of all timezones.</p>
921
+
922
+
923
+ </div>
924
+ </div>
925
+ <div class="tags">
926
+ <p class="tag_title">Parameters:</p>
927
+ <ul class="param">
928
+
929
+ <li>
930
+
931
+ <span class='name'>with_dst</span>
932
+
933
+
934
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
935
+
936
+
937
+ <em class="default">(defaults to: <tt>true</tt>)</em>
938
+
939
+
940
+ &mdash;
941
+ <div class='inline'><p>If include DST version of the zones.</p>
942
+ </div>
943
+
944
+ </li>
945
+
946
+ <li>
947
+
948
+ <span class='name'>dst_label</span>
949
+
950
+
951
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
952
+
953
+
954
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
955
+
956
+
957
+ &mdash;
958
+ <div class='inline'><p>Label for the DST indication. Defaults to <code>(Daylight Saving Time)</code>.</p>
959
+ </div>
960
+
961
+ </li>
962
+
963
+ </ul>
964
+
965
+ <p class="tag_title">Returns:</p>
966
+ <ul class="return">
967
+
968
+ <li>
969
+
970
+
971
+ <span class='type'>(<tt>Array</tt>)</span>
972
+
973
+
974
+
975
+ &mdash;
976
+ <div class='inline'><p>A list of names of timezones.</p>
977
+ </div>
978
+
979
+ </li>
980
+
981
+ </ul>
982
+
983
+ </div><table class="source_code">
984
+ <tr>
985
+ <td>
986
+ <pre class="lines">
987
+
988
+
989
+ 75
990
+ 76
991
+ 77</pre>
992
+ </td>
993
+ <td>
994
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 75</span>
995
+
996
+ <span class='kw'>def</span> <span class='id identifier rubyid_list_timezones'>list_timezones</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>
997
+ <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_list_all'>list_all</span><span class='lparen'>(</span><span class='id identifier rubyid_with_dst'>with_dst</span><span class='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span><span class='rparen'>)</span>
998
+ <span class='kw'>end</span></pre>
999
+ </td>
1000
+ </tr>
1001
+ </table>
1002
+ </div>
1003
+
1004
+ <div class="method_details ">
1005
+ <h3 class="signature " id="months-instance_method">
1006
+
1007
+ - (<tt>Array</tt>) <strong>months</strong>(short = true)
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+ </h3><div class="docstring">
1014
+ <div class="discussion">
1015
+ <p>Returns strings representations of months.</p>
1016
+
1017
+
1018
+ </div>
1019
+ </div>
1020
+ <div class="tags">
1021
+ <p class="tag_title">Parameters:</p>
1022
+ <ul class="param">
1023
+
1024
+ <li>
1025
+
1026
+ <span class='name'>short</span>
1027
+
1028
+
1029
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
1030
+
1031
+
1032
+ <em class="default">(defaults to: <tt>true</tt>)</em>
1033
+
1034
+
1035
+ &mdash;
1036
+ <div class='inline'><p>If return the abbreviated representations.</p>
1037
+ </div>
1038
+
1039
+ </li>
1040
+
1041
+ </ul>
1042
+
1043
+ <p class="tag_title">Returns:</p>
1044
+ <ul class="return">
1045
+
1046
+ <li>
1047
+
1048
+
1049
+ <span class='type'>(<tt>Array</tt>)</span>
1050
+
1051
+
1052
+
1053
+ &mdash;
1054
+ <div class='inline'><p>Return string representations of months.</p>
1055
+ </div>
1056
+
1057
+ </li>
1058
+
1059
+ </ul>
1060
+
1061
+ <p class="tag_title">See Also:</p>
1062
+ <ul class="see">
1063
+
1064
+ <li><span class='object_link'><a href="../Settings.html#setup_date_names-instance_method" title="Cowtech::Extensions::Settings#setup_date_names (method)">Settings#setup_date_names</a></span></li>
1065
+
1066
+ </ul>
1067
+
1068
+ </div><table class="source_code">
1069
+ <tr>
1070
+ <td>
1071
+ <pre class="lines">
1072
+
1073
+
1074
+ 33
1075
+ 34
1076
+ 35
1077
+ 36
1078
+ 37
1079
+ 38</pre>
1080
+ </td>
1081
+ <td>
1082
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 33</span>
1083
+
1084
+ <span class='kw'>def</span> <span class='id identifier rubyid_months'>months</span><span class='lparen'>(</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
1085
+ <span class='id identifier rubyid_months'>months</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Cowtech</span><span class='op'>::</span><span class='const'>Extensions</span><span class='period'>.</span><span class='id identifier rubyid_settings'>settings</span><span class='period'>.</span><span class='id identifier rubyid_date_names'>date_names</span><span class='lbracket'>[</span><span class='id identifier rubyid_short'>short</span> <span class='op'>?</span> <span class='symbol'>:short_months</span> <span class='op'>:</span> <span class='symbol'>:long_months</span><span class='rbracket'>]</span>
1086
+ <span class='lparen'>(</span><span class='int'>1</span><span class='op'>..</span><span class='int'>12</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
1087
+ <span class='lbrace'>{</span><span class='symbol'>:value</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='symbol'>:label</span><span class='op'>=&gt;</span> <span class='id identifier rubyid_months'>months</span><span class='period'>.</span><span class='id identifier rubyid_at'>at</span><span class='lparen'>(</span><span class='id identifier rubyid_i'>i</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span><span class='rbrace'>}</span>
1088
+ <span class='rbrace'>}</span>
1089
+ <span class='kw'>end</span></pre>
1090
+ </td>
1091
+ </tr>
1092
+ </table>
1093
+ </div>
1094
+
1095
+ <div class="method_details ">
1096
+ <h3 class="signature " id="parameterize_zone-instance_method">
1097
+
1098
+ - (<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>) <strong>parameterize_zone</strong>(tz, with_offset = true)
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+ </h3><div class="docstring">
1105
+ <div class="discussion">
1106
+ <p>Returns a string representation of a timezone.</p>
1107
+
1108
+ <pre class="code ruby"><code><span class='const'>DateTime</span><span class='period'>.</span><span class='id identifier rubyid_parameterize_zone'>parameterize_zone</span><span class='lparen'>(</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Pacific Time (US &amp; Canada)</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
1109
+ <span class='comment'># =&gt; &quot;-0800@pacific-time-us-canada&quot;
1110
+ </span></code></pre>
1111
+
1112
+
1113
+ </div>
1114
+ </div>
1115
+ <div class="tags">
1116
+ <p class="tag_title">Parameters:</p>
1117
+ <ul class="param">
1118
+
1119
+ <li>
1120
+
1121
+ <span class='name'>tz</span>
1122
+
1123
+
1124
+ <span class='type'>(<tt><span class='object_link'><a href="../TimeZone.html" title="Cowtech::Extensions::TimeZone (module)">TimeZone</a></span></tt>)</span>
1125
+
1126
+
1127
+
1128
+ &mdash;
1129
+ <div class='inline'><p>The zone to represent.</p>
1130
+ </div>
1131
+
1132
+ </li>
1133
+
1134
+ <li>
1135
+
1136
+ <span class='name'>with_offset</span>
1137
+
1138
+
1139
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
1140
+
1141
+
1142
+ <em class="default">(defaults to: <tt>true</tt>)</em>
1143
+
1144
+
1145
+ &mdash;
1146
+ <div class='inline'><p>If to include offset into the representation.</p>
1147
+ </div>
1148
+
1149
+ </li>
1150
+
1151
+ </ul>
1152
+
1153
+ <p class="tag_title">Returns:</p>
1154
+ <ul class="return">
1155
+
1156
+ <li>
1157
+
1158
+
1159
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
1160
+
1161
+
1162
+
1163
+ &mdash;
1164
+ <div class='inline'><p>A string representation which can be used for searches.</p>
1165
+ </div>
1166
+
1167
+ </li>
1168
+
1169
+ </ul>
1170
+
1171
+ </div><table class="source_code">
1172
+ <tr>
1173
+ <td>
1174
+ <pre class="lines">
1175
+
1176
+
1177
+ 97
1178
+ 98
1179
+ 99</pre>
1180
+ </td>
1181
+ <td>
1182
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 97</span>
1183
+
1184
+ <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>
1185
+ <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</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='id identifier rubyid_with_offset'>with_offset</span><span class='rparen'>)</span>
1186
+ <span class='kw'>end</span></pre>
1187
+ </td>
1188
+ </tr>
1189
+ </table>
1190
+ </div>
1191
+
1192
+ <div class="method_details ">
1193
+ <h3 class="signature " id="rationalize_offset-instance_method">
1194
+
1195
+ - (<tt>Rational</tt>) <strong>rationalize_offset</strong>(offset)
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+ </h3><div class="docstring">
1202
+ <div class="discussion">
1203
+ <p>Returns an offset in rational value.</p>
1204
+
1205
+
1206
+ </div>
1207
+ </div>
1208
+ <div class="tags">
1209
+ <p class="tag_title">Parameters:</p>
1210
+ <ul class="param">
1211
+
1212
+ <li>
1213
+
1214
+ <span class='name'>offset</span>
1215
+
1216
+
1217
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1218
+
1219
+
1220
+
1221
+ &mdash;
1222
+ <div class='inline'><p>The offset to convert.</p>
1223
+ </div>
1224
+
1225
+ </li>
1226
+
1227
+ </ul>
1228
+
1229
+ <p class="tag_title">Returns:</p>
1230
+ <ul class="return">
1231
+
1232
+ <li>
1233
+
1234
+
1235
+ <span class='type'>(<tt>Rational</tt>)</span>
1236
+
1237
+
1238
+
1239
+ &mdash;
1240
+ <div class='inline'><p>The converted offset.</p>
1241
+ </div>
1242
+
1243
+ </li>
1244
+
1245
+ </ul>
1246
+
1247
+ </div><table class="source_code">
1248
+ <tr>
1249
+ <td>
1250
+ <pre class="lines">
1251
+
1252
+
1253
+ 116
1254
+ 117
1255
+ 118</pre>
1256
+ </td>
1257
+ <td>
1258
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 116</span>
1259
+
1260
+ <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>
1261
+ <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_rationalize_offset'>rationalize_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
1262
+ <span class='kw'>end</span></pre>
1263
+ </td>
1264
+ </tr>
1265
+ </table>
1266
+ </div>
1267
+
1268
+ <div class="method_details ">
1269
+ <h3 class="signature " id="timezones-instance_method">
1270
+
1271
+ - (<tt>Array</tt>) <strong>timezones</strong>
1272
+
1273
+
1274
+
1275
+
1276
+
1277
+ </h3><div class="docstring">
1278
+ <div class="discussion">
1279
+ <p>Returns all the availabe timezones.</p>
1280
+
1281
+
1282
+ </div>
1283
+ </div>
1284
+ <div class="tags">
1285
+
1286
+ <p class="tag_title">Returns:</p>
1287
+ <ul class="return">
1288
+
1289
+ <li>
1290
+
1291
+
1292
+ <span class='type'>(<tt>Array</tt>)</span>
1293
+
1294
+
1295
+
1296
+ &mdash;
1297
+ <div class='inline'><p>All the zone available.</p>
1298
+ </div>
1299
+
1300
+ </li>
1301
+
1302
+ </ul>
1303
+
1304
+ </div><table class="source_code">
1305
+ <tr>
1306
+ <td>
1307
+ <pre class="lines">
1308
+
1309
+
1310
+ 66
1311
+ 67
1312
+ 68</pre>
1313
+ </td>
1314
+ <td>
1315
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 66</span>
1316
+
1317
+ <span class='kw'>def</span> <span class='id identifier rubyid_timezones'>timezones</span>
1318
+ <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>
1319
+ <span class='kw'>end</span></pre>
1320
+ </td>
1321
+ </tr>
1322
+ </table>
1323
+ </div>
1324
+
1325
+ <div class="method_details ">
1326
+ <h3 class="signature " id="unparameterize_zone-instance_method">
1327
+
1328
+ - (<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span>|<span class='object_link'><a href="../TimeZone.html" title="Cowtech::Extensions::TimeZone (module)">TimeZone</a></span></tt>) <strong>unparameterize_zone</strong>(tz, as_string = false, dst_label = nil)
1329
+
1330
+
1331
+
1332
+
1333
+
1334
+ </h3><div class="docstring">
1335
+ <div class="discussion">
1336
+ <p>Finds a parameterized timezone.</p>
1337
+
1338
+
1339
+ </div>
1340
+ </div>
1341
+ <div class="tags">
1342
+ <p class="tag_title">Parameters:</p>
1343
+ <ul class="param">
1344
+
1345
+ <li>
1346
+
1347
+ <span class='name'>tz</span>
1348
+
1349
+
1350
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
1351
+
1352
+
1353
+
1354
+ &mdash;
1355
+ <div class='inline'><p>The zone to unparameterize.</p>
1356
+ </div>
1357
+
1358
+ </li>
1359
+
1360
+ <li>
1361
+
1362
+ <span class='name'>as_string</span>
1363
+
1364
+
1365
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
1366
+
1367
+
1368
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1369
+
1370
+
1371
+ &mdash;
1372
+ <div class='inline'><p>If return just the zone name.</p>
1373
+ </div>
1374
+
1375
+ </li>
1376
+
1377
+ <li>
1378
+
1379
+ <span class='name'>dst_label</span>
1380
+
1381
+
1382
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span></tt>)</span>
1383
+
1384
+
1385
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1386
+
1387
+
1388
+ &mdash;
1389
+ <div class='inline'><p>Label for the DST indication. Defaults to <code>(Daylight Saving Time)</code>.</p>
1390
+ </div>
1391
+
1392
+ </li>
1393
+
1394
+ </ul>
1395
+
1396
+ <p class="tag_title">Returns:</p>
1397
+ <ul class="return">
1398
+
1399
+ <li>
1400
+
1401
+
1402
+ <span class='type'>(<tt><span class='object_link'><a href="../String.html" title="Cowtech::Extensions::String (module)">String</a></span>|<span class='object_link'><a href="../TimeZone.html" title="Cowtech::Extensions::TimeZone (module)">TimeZone</a></span></tt>)</span>
1403
+
1404
+
1405
+
1406
+ &mdash;
1407
+ <div class='inline'><p>The found timezone or <code>nil</code> if the zone is not valid.</p>
1408
+ </div>
1409
+
1410
+ </li>
1411
+
1412
+ </ul>
1413
+
1414
+ <p class="tag_title">See Also:</p>
1415
+ <ul class="see">
1416
+
1417
+ <li>DateTime#parameterize_zone</li>
1418
+
1419
+ </ul>
1420
+
1421
+ </div><table class="source_code">
1422
+ <tr>
1423
+ <td>
1424
+ <pre class="lines">
1425
+
1426
+
1427
+ 108
1428
+ 109
1429
+ 110</pre>
1430
+ </td>
1431
+ <td>
1432
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 108</span>
1433
+
1434
+ <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>
1435
+ <span class='op'>::</span><span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>TimeZone</span><span class='op'>::</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='comma'>,</span> <span class='id identifier rubyid_dst_label'>dst_label</span><span class='rparen'>)</span>
1436
+ <span class='kw'>end</span></pre>
1437
+ </td>
1438
+ </tr>
1439
+ </table>
1440
+ </div>
1441
+
1442
+ <div class="method_details ">
1443
+ <h3 class="signature " id="years-instance_method">
1444
+
1445
+ - (<tt>Array</tt>) <strong>years</strong>(offset = 10, also_future = true, reference = nil, as_objects = false)
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+ </h3><div class="docstring">
1452
+ <div class="discussion">
1453
+ <p>Returns a range of years.</p>
1454
+
1455
+ <pre class="code ruby"><code><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_years'>years</span><span class='lparen'>(</span><span class='int'>3</span><span class='comma'>,</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='int'>2010</span><span class='rparen'>)</span>
1456
+ <span class='comment'># =&gt; [2007, 2008, 2009, 2010]
1457
+ </span></code></pre>
1458
+
1459
+ <pre class="code ruby"><code><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_years'>years</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='int'>2010</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
1460
+ <span class='comment'># =&gt; [{:value=&gt;2009, :label=&gt;2009}, {:value=&gt;2010, :label=&gt;2010}, {:value=&gt;2011, :label=&gt;2011}]
1461
+ </span></code></pre>
1462
+
1463
+
1464
+ </div>
1465
+ </div>
1466
+ <div class="tags">
1467
+ <p class="tag_title">Parameters:</p>
1468
+ <ul class="param">
1469
+
1470
+ <li>
1471
+
1472
+ <span class='name'>offset</span>
1473
+
1474
+
1475
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1476
+
1477
+
1478
+ <em class="default">(defaults to: <tt>10</tt>)</em>
1479
+
1480
+
1481
+ &mdash;
1482
+ <div class='inline'><p>The width of the range.</p>
1483
+ </div>
1484
+
1485
+ </li>
1486
+
1487
+ <li>
1488
+
1489
+ <span class='name'>also_future</span>
1490
+
1491
+
1492
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
1493
+
1494
+
1495
+ <em class="default">(defaults to: <tt>true</tt>)</em>
1496
+
1497
+
1498
+ &mdash;
1499
+ <div class='inline'><p>If return also future years.</p>
1500
+ </div>
1501
+
1502
+ </li>
1503
+
1504
+ <li>
1505
+
1506
+ <span class='name'>reference</span>
1507
+
1508
+
1509
+ <span class='type'>(<tt>Fixnum</tt>)</span>
1510
+
1511
+
1512
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1513
+
1514
+
1515
+ &mdash;
1516
+ <div class='inline'><p>The ending (or middle, if <code>also_future</code> is <code>true</code>) value of the range. Defaults to the current year.</p>
1517
+ </div>
1518
+
1519
+ </li>
1520
+
1521
+ <li>
1522
+
1523
+ <span class='name'>as_objects</span>
1524
+
1525
+
1526
+ <span class='type'>(<tt><span class='object_link'><a href="../Boolean.html" title="Cowtech::Extensions::Boolean (module)">Boolean</a></span></tt>)</span>
1527
+
1528
+
1529
+ <em class="default">(defaults to: <tt>false</tt>)</em>
1530
+
1531
+
1532
+ &mdash;
1533
+ <div class='inline'><p>If to return years in hashes with <code>:value</code> and <code>label</code> keys.</p>
1534
+ </div>
1535
+
1536
+ </li>
1537
+
1538
+ </ul>
1539
+
1540
+ <p class="tag_title">Returns:</p>
1541
+ <ul class="return">
1542
+
1543
+ <li>
1544
+
1545
+
1546
+ <span class='type'>(<tt>Array</tt>)</span>
1547
+
1548
+
1549
+
1550
+ &mdash;
1551
+ <div class='inline'><p>A range of years. Every entry is</p>
1552
+ </div>
1553
+
1554
+ </li>
1555
+
1556
+ </ul>
1557
+
1558
+ </div><table class="source_code">
1559
+ <tr>
1560
+ <td>
1561
+ <pre class="lines">
1562
+
1563
+
1564
+ 58
1565
+ 59
1566
+ 60
1567
+ 61</pre>
1568
+ </td>
1569
+ <td>
1570
+ <pre class="code"><span class="info file"># File 'lib/cowtech-extensions/datetime.rb', line 58</span>
1571
+
1572
+ <span class='kw'>def</span> <span class='id identifier rubyid_years'>years</span><span class='lparen'>(</span><span class='id identifier rubyid_offset'>offset</span> <span class='op'>=</span> <span class='int'>10</span><span class='comma'>,</span> <span class='id identifier rubyid_also_future'>also_future</span> <span class='op'>=</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='id identifier rubyid_reference'>reference</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_as_objects'>as_objects</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
1573
+ <span class='id identifier rubyid_y'>y</span> <span class='op'>=</span> <span class='id identifier rubyid_reference'>reference</span> <span class='op'>||</span> <span class='op'>::</span><span class='const'>Date</span><span class='period'>.</span><span class='id identifier rubyid_today'>today</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span>
1574
+ <span class='lparen'>(</span><span class='id identifier rubyid_y'>y</span> <span class='op'>-</span> <span class='id identifier rubyid_offset'>offset</span><span class='op'>..</span><span class='lparen'>(</span><span class='id identifier rubyid_also_future'>also_future</span> <span class='op'>?</span> <span class='id identifier rubyid_y'>y</span> <span class='op'>+</span> <span class='id identifier rubyid_offset'>offset</span> <span class='op'>:</span> <span class='id identifier rubyid_y'>y</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_year'>year</span><span class='op'>|</span> <span class='id identifier rubyid_as_objects'>as_objects</span> <span class='op'>?</span> <span class='lbrace'>{</span><span class='symbol'>:value</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='symbol'>:label</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_year'>year</span><span class='rbrace'>}</span> <span class='op'>:</span> <span class='id identifier rubyid_year'>year</span> <span class='rbrace'>}</span>
1575
+ <span class='kw'>end</span></pre>
1576
+ </td>
1577
+ </tr>
1578
+ </table>
1579
+ </div>
1580
+
1581
+ </div>
1582
+
1583
+ </div>
1584
+
1585
+ <div id="footer">
1586
+ Generated on Thu Jul 19 17:17:51 2012 by
1587
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1588
+ 0.8.2.1 (ruby-1.9.2).
1589
+ </div>
1590
+
1591
+ </body>
1592
+ </html>