time_with_zone 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6d27f1acaf295afd5e700334e3935da2c438b3c5
4
- data.tar.gz: 231c3fe2fe85de8d9f49d88d71cc17170c9bd19c
3
+ metadata.gz: c7e50a190b197838effa435df09432a17e377b34
4
+ data.tar.gz: 0761e3c5c2314d738328d3605dfc16896a1b01e2
5
5
  SHA512:
6
- metadata.gz: 5e95538172fae1e99a461f8d235a7d652ea81b8dc3beb13d9b0e4e430096f4c03fe9cf1cda830adeb8b529a5cc5466f477f5040b6ea98ff7712e0255df6ed6ab
7
- data.tar.gz: 883ee12f1cf8a1bf0ebaecf1dee1b30a29248dbd4906cc3738de9e228a00302379c155d61821e54391db5d4d1c049d857058bdeed05b8ade3202faf5011dd033
6
+ metadata.gz: 8d5cef7cfc7e529e25a3bcffa0bcf0c3a579e698bd54991fc4bf6a1853c17bb8b0c32b69686a8e85f00accd98a3ca493da8c64415c84ee88bf0b977e390c1cf0
7
+ data.tar.gz: 38c96fca1e1d4b3a8577f9291689e2a677158404069ececd03276db2ea8b0c755a81c6a81cc85375ba09a05017a149b99a8e3ab9900039369e285064d2e49bdf
@@ -1,3 +1,9 @@
1
- # 0.1.0 (2016-10-30
1
+ # 0.2.0 (2016-10-31)
2
+
3
+ Incompatibility changes:
4
+
5
+ * Rename TimeWithZone.overwrite_zone to TimeWithZone.set_zone
6
+
7
+ # 0.1.0 (2016-10-30)
2
8
 
3
9
  First version
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # TimeWithZone
2
2
 
3
- Handle Time with Timezone without ActiveSupport or `ENV['TZ']` for thread-safety.
3
+ Handle time with zone without ActiveSupport or `ENV['TZ']` for thread-safety.
4
4
 
5
5
  ## Installation
6
6
 
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- See [docs](https://sonots.github.io/time_with_zone/frames.html)
23
+ See [docs](https://sonots.github.io/time_with_zone/TimeWithZone.html)
24
24
 
25
25
  ## Development
26
26
 
@@ -101,7 +101,35 @@
101
101
  </dl>
102
102
  <div class="clear"></div>
103
103
 
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>Handle time with zone withtout ActiveSupport or <a href="'TZ'\">ENV</a></p>
108
+
109
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time_with_zone</span><span class='tstring_end'>&#39;</span></span>
110
+
111
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_strptime_with_zone'>strptime_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2016-10-10</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%Y-%m-%d</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
112
+ <span class='comment'># =&gt; &#39;2016-10-10 00:00:00 +0800&#39;
113
+ </span>
114
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2016-10-10</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
115
+ <span class='comment'># =&gt; &#39;2016-10-10 00:00:00 +0800&#39;
116
+ </span>
117
+ <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2016-10-10 00:00:00 +00:00</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
118
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_set_zone!'>set_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
119
+ <span class='comment'># =&gt; &#39;2016-10-10 00:00:00 +0800&#39;
120
+ </span>
121
+ <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>2016-10-10 00:00:00 +00:00</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
122
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_localtime_with_zone'>localtime_with_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
123
+ <span class='comment'># =&gt; &#39;2016-10-10 08:00:00 +0800&#39;
124
+ </span></code></pre>
125
+
104
126
 
127
+ </div>
128
+ </div>
129
+ <div class="tags">
130
+
131
+
132
+ </div>
105
133
  <h2>Constant Summary</h2>
106
134
 
107
135
  <dl class="constants">
@@ -234,7 +262,7 @@
234
262
  <li class="public ">
235
263
  <span class="summary_signature">
236
264
 
237
- <a href="#overwrite_zone-class_method" title="overwrite_zone (class method)">+ (Time) <strong>overwrite_zone</strong>(time, timezone) </a>
265
+ <a href="#parse_with_zone-class_method" title="parse_with_zone (class method)">+ (Object) <strong>parse_with_zone</strong>(date, timezone) </a>
238
266
 
239
267
 
240
268
 
@@ -249,8 +277,7 @@
249
277
 
250
278
 
251
279
  <span class="summary_desc"><div class='inline'>
252
- <p>This method simply overwrites the zone field of Time object
253
- (non-destructive).</p>
280
+ <p>Time.parse with timezone.</p>
254
281
  </div></span>
255
282
 
256
283
  </li>
@@ -259,7 +286,7 @@
259
286
  <li class="public ">
260
287
  <span class="summary_signature">
261
288
 
262
- <a href="#overwrite_zone%21-class_method" title="overwrite_zone! (class method)">+ (Object) <strong>overwrite_zone!</strong>(time, timezone) </a>
289
+ <a href="#set_zone-class_method" title="set_zone (class method)">+ (Time) <strong>set_zone</strong>(time, timezone) </a>
263
290
 
264
291
 
265
292
 
@@ -274,7 +301,7 @@
274
301
 
275
302
 
276
303
  <span class="summary_desc"><div class='inline'>
277
- <p>This method simply overwrites the zone field of Time object (destructive).</p>
304
+ <p>This method simply sets the zone field of Time object (non-destructive).</p>
278
305
  </div></span>
279
306
 
280
307
  </li>
@@ -283,7 +310,7 @@
283
310
  <li class="public ">
284
311
  <span class="summary_signature">
285
312
 
286
- <a href="#parse_with_zone-class_method" title="parse_with_zone (class method)">+ (Object) <strong>parse_with_zone</strong>(date, timezone) </a>
313
+ <a href="#set_zone%21-class_method" title="set_zone! (class method)">+ (Object) <strong>set_zone!</strong>(time, timezone) </a>
287
314
 
288
315
 
289
316
 
@@ -298,7 +325,7 @@
298
325
 
299
326
 
300
327
  <span class="summary_desc"><div class='inline'>
301
- <p>Time.parse with timezone.</p>
328
+ <p>This method simply sets the zone field of Time object (destructive).</p>
302
329
  </div></span>
303
330
 
304
331
  </li>
@@ -457,12 +484,12 @@
457
484
  <pre class="lines">
458
485
 
459
486
 
460
- 44
461
- 45
462
- 46</pre>
487
+ 61
488
+ 62
489
+ 63</pre>
463
490
  </td>
464
491
  <td>
465
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 44</span>
492
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 61</span>
466
493
 
467
494
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_localtime_with_zone'>localtime_with_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
468
495
  <span class='id identifier rubyid_localtime_with_zone!'>localtime_with_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
@@ -541,13 +568,13 @@
541
568
  <pre class="lines">
542
569
 
543
570
 
544
- 53
545
- 54
546
- 55
547
- 56</pre>
571
+ 70
572
+ 71
573
+ 72
574
+ 73</pre>
548
575
  </td>
549
576
  <td>
550
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 53</span>
577
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 70</span>
551
578
 
552
579
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_localtime_with_zone!'>localtime_with_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
553
580
  <span class='id identifier rubyid__zone_offset'>_zone_offset</span> <span class='op'>=</span> <span class='id identifier rubyid_zone_offset'>zone_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_timezone'>timezone</span><span class='comma'>,</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
@@ -559,9 +586,9 @@
559
586
  </div>
560
587
 
561
588
  <div class="method_details ">
562
- <h3 class="signature " id="overwrite_zone-class_method">
589
+ <h3 class="signature " id="parse_with_zone-class_method">
563
590
 
564
- + (<tt>Time</tt>) <strong>overwrite_zone</strong>(time, timezone)
591
+ + (<tt>Object</tt>) <strong>parse_with_zone</strong>(date, timezone)
565
592
 
566
593
 
567
594
 
@@ -570,13 +597,29 @@
570
597
  </h3><div class="docstring">
571
598
  <div class="discussion">
572
599
 
573
- <p>This method simply overwrites the zone field of Time object
574
- (non-destructive)</p>
600
+ <p>Time.parse with timezone</p>
575
601
 
576
- <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time_with_zone</span><span class='tstring_end'>&#39;</span></span>
602
+ <pre class="code ruby"><code class="ruby"><span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TZ</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>+09:00</span><span class='tstring_end'>&#39;</span></span> <span class='comment'># Assume your local timezone is +09:00
603
+ </span>
604
+ <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time</span><span class='tstring_end'>&#39;</span></span>
605
+
606
+ <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
607
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0900
608
+ </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 +08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
609
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
610
+ </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 CDT</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
611
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 -0500
612
+ </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 Asia/Taipei</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
613
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0900 (does not work)
614
+ </span>
615
+ <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time_with_zone</span><span class='tstring_end'>&#39;</span></span>
577
616
 
578
- <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_overwrite_zone!'>overwrite_zone!</span><span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2010-02-02 +09:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>+08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
579
- <span class='comment'>#=&gt; &quot;2010-02-02 00:00:00 +08:00&quot; (Note that not &quot;2010-02-01 23:00:00 +08:00&quot;)
617
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>+08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
618
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
619
+ </span><span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CDT</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
620
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 -0500
621
+ </span><span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
622
+ <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
580
623
  </span></code></pre>
581
624
 
582
625
 
@@ -588,13 +631,18 @@
588
631
 
589
632
  <li>
590
633
 
591
- <span class='name'>time</span>
634
+ <span class='name'>date</span>
592
635
 
593
636
 
594
- <span class='type'>(<tt>Time</tt>)</span>
637
+ <span class='type'>(<tt>String</tt>)</span>
595
638
 
596
639
 
597
640
 
641
+ &mdash;
642
+ <div class='inline'>
643
+ <p>string to be parsed</p>
644
+ </div>
645
+
598
646
  </li>
599
647
 
600
648
  <li>
@@ -606,39 +654,33 @@
606
654
 
607
655
 
608
656
 
609
- </li>
610
-
611
- </ul>
612
-
613
- <p class="tag_title">Returns:</p>
614
- <ul class="return">
615
-
616
- <li>
617
-
618
-
619
- <span class='type'>(<tt>Time</tt>)</span>
620
-
621
-
657
+ &mdash;
658
+ <div class='inline'>
659
+ <p><span class='object_link'><a href="#NUMERIC_PATTERN-constant" title="TimeWithZone::NUMERIC_PATTERN (constant)">NUMERIC_PATTERN</a></span> or <span class='object_link'><a href="#NAME_PATTERN-constant" title="TimeWithZone::NAME_PATTERN (constant)">NAME_PATTERN</a></span> or <span class='object_link'><a href="#ZoneOffset-constant" title="TimeWithZone::ZoneOffset (constant)">ZoneOffset</a></span></p>
660
+ </div>
622
661
 
623
662
  </li>
624
663
 
625
664
  </ul>
626
665
 
666
+
627
667
  </div><table class="source_code">
628
668
  <tr>
629
669
  <td>
630
670
  <pre class="lines">
631
671
 
632
672
 
633
- 131
634
- 132
635
- 133</pre>
673
+ 101
674
+ 102
675
+ 103
676
+ 104</pre>
636
677
  </td>
637
678
  <td>
638
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 131</span>
679
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 101</span>
639
680
 
640
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_overwrite_zone'>overwrite_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
641
- <span class='id identifier rubyid_overwrite_zone!'>overwrite_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
681
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
682
+ <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='rparen'>)</span>
683
+ <span class='id identifier rubyid_set_zone!'>set_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
642
684
  <span class='kw'>end</span></pre>
643
685
  </td>
644
686
  </tr>
@@ -646,9 +688,9 @@
646
688
  </div>
647
689
 
648
690
  <div class="method_details ">
649
- <h3 class="signature " id="overwrite_zone!-class_method">
691
+ <h3 class="signature " id="set_zone-class_method">
650
692
 
651
- + (<tt>Object</tt>) <strong>overwrite_zone!</strong>(time, timezone)
693
+ + (<tt>Time</tt>) <strong>set_zone</strong>(time, timezone)
652
694
 
653
695
 
654
696
 
@@ -657,7 +699,15 @@
657
699
  </h3><div class="docstring">
658
700
  <div class="discussion">
659
701
 
660
- <p>This method simply overwrites the zone field of Time object (destructive)</p>
702
+ <p>This method simply sets the zone field of Time object (non-destructive)</p>
703
+
704
+ <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time_with_zone</span><span class='tstring_end'>&#39;</span></span>
705
+
706
+ <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-02-02 00:00:00 +00:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
707
+ <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_set_zone'>set_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>+08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
708
+ <span class='comment'>#=&gt; &quot;2016-02-02 00:00:00 +0800&quot;
709
+ </span><span class='comment'># Note that it is not &quot;2016-02-02 08:00:00 +0800&quot; like Time#localtime(timezone)
710
+ </span></code></pre>
661
711
 
662
712
 
663
713
  </div>
@@ -690,13 +740,19 @@
690
740
 
691
741
  </ul>
692
742
 
693
-
694
- <p class="tag_title">See Also:</p>
695
- <ul class="see">
696
-
697
- <li><span class='object_link'><a href="#overwrite_zone-class_method" title="TimeWithZone.overwrite_zone (method)">overwrite_zone</a></span></li>
698
-
699
- </ul>
743
+ <p class="tag_title">Returns:</p>
744
+ <ul class="return">
745
+
746
+ <li>
747
+
748
+
749
+ <span class='type'>(<tt>Time</tt>)</span>
750
+
751
+
752
+
753
+ </li>
754
+
755
+ </ul>
700
756
 
701
757
  </div><table class="source_code">
702
758
  <tr>
@@ -704,19 +760,15 @@
704
760
  <pre class="lines">
705
761
 
706
762
 
707
- 140
708
- 141
709
- 142
710
- 143
711
- 144</pre>
763
+ 150
764
+ 151
765
+ 152</pre>
712
766
  </td>
713
767
  <td>
714
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 140</span>
768
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 150</span>
715
769
 
716
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_overwrite_zone!'>overwrite_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
717
- <span class='id identifier rubyid__utc_offset'>_utc_offset</span> <span class='op'>=</span> <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_utc_offset'>utc_offset</span>
718
- <span class='id identifier rubyid__zone_offset'>_zone_offset</span> <span class='op'>=</span> <span class='id identifier rubyid_zone_offset'>zone_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_timezone'>timezone</span><span class='comma'>,</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
719
- <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_localtime'>localtime</span><span class='lparen'>(</span><span class='id identifier rubyid__zone_offset'>_zone_offset</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid__utc_offset'>_utc_offset</span> <span class='op'>-</span> <span class='id identifier rubyid__zone_offset'>_zone_offset</span>
770
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_zone'>set_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
771
+ <span class='id identifier rubyid_set_zone!'>set_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
720
772
  <span class='kw'>end</span></pre>
721
773
  </td>
722
774
  </tr>
@@ -724,9 +776,9 @@
724
776
  </div>
725
777
 
726
778
  <div class="method_details ">
727
- <h3 class="signature " id="parse_with_zone-class_method">
779
+ <h3 class="signature " id="set_zone!-class_method">
728
780
 
729
- + (<tt>Object</tt>) <strong>parse_with_zone</strong>(date, timezone)
781
+ + (<tt>Object</tt>) <strong>set_zone!</strong>(time, timezone)
730
782
 
731
783
 
732
784
 
@@ -735,30 +787,7 @@
735
787
  </h3><div class="docstring">
736
788
  <div class="discussion">
737
789
 
738
- <p>Time.parse with timezone</p>
739
-
740
- <pre class="code ruby"><code class="ruby"><span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>TZ</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>+09:00</span><span class='tstring_end'>&#39;</span></span> <span class='comment'># Assume your local timezone is +09:00
741
- </span>
742
- <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time</span><span class='tstring_end'>&#39;</span></span>
743
-
744
- <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
745
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0900
746
- </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 +08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
747
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
748
- </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 CDT</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
749
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 -0500
750
- </span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20 00:00:00 Asia/Taipei</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
751
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0900 (does not work)
752
- </span>
753
- <span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>time_with_zone</span><span class='tstring_end'>&#39;</span></span>
754
-
755
- <span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>+08:00</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
756
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
757
- </span><span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>CDT</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
758
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 -0500
759
- </span><span class='const'>TimeWithZone</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>2016-10-20</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Asia/Taipei</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
760
- <span class='comment'>#=&gt; 2016-10-20 00:00:00 +0800
761
- </span></code></pre>
790
+ <p>This method simply sets the zone field of Time object (destructive)</p>
762
791
 
763
792
 
764
793
  </div>
@@ -769,18 +798,13 @@
769
798
 
770
799
  <li>
771
800
 
772
- <span class='name'>date</span>
801
+ <span class='name'>time</span>
773
802
 
774
803
 
775
- <span class='type'>(<tt>String</tt>)</span>
804
+ <span class='type'>(<tt>Time</tt>)</span>
776
805
 
777
806
 
778
807
 
779
- &mdash;
780
- <div class='inline'>
781
- <p>string to be parsed</p>
782
- </div>
783
-
784
808
  </li>
785
809
 
786
810
  <li>
@@ -792,33 +816,37 @@
792
816
 
793
817
 
794
818
 
795
- &mdash;
796
- <div class='inline'>
797
- <p><span class='object_link'><a href="#NUMERIC_PATTERN-constant" title="TimeWithZone::NUMERIC_PATTERN (constant)">NUMERIC_PATTERN</a></span> or <span class='object_link'><a href="#NAME_PATTERN-constant" title="TimeWithZone::NAME_PATTERN (constant)">NAME_PATTERN</a></span> or <span class='object_link'><a href="#ZoneOffset-constant" title="TimeWithZone::ZoneOffset (constant)">ZoneOffset</a></span></p>
798
- </div>
799
-
800
819
  </li>
801
820
 
802
821
  </ul>
803
822
 
804
823
 
824
+ <p class="tag_title">See Also:</p>
825
+ <ul class="see">
826
+
827
+ <li><span class='object_link'><a href="#set_zone-class_method" title="TimeWithZone.set_zone (method)">set_zone</a></span></li>
828
+
829
+ </ul>
830
+
805
831
  </div><table class="source_code">
806
832
  <tr>
807
833
  <td>
808
834
  <pre class="lines">
809
835
 
810
836
 
811
- 84
812
- 85
813
- 86
814
- 87</pre>
837
+ 159
838
+ 160
839
+ 161
840
+ 162
841
+ 163</pre>
815
842
  </td>
816
843
  <td>
817
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 84</span>
844
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 159</span>
818
845
 
819
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse_with_zone'>parse_with_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
820
- <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='rparen'>)</span>
821
- <span class='id identifier rubyid_overwrite_zone!'>overwrite_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
846
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_set_zone!'>set_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
847
+ <span class='id identifier rubyid__utc_offset'>_utc_offset</span> <span class='op'>=</span> <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_utc_offset'>utc_offset</span>
848
+ <span class='id identifier rubyid__zone_offset'>_zone_offset</span> <span class='op'>=</span> <span class='id identifier rubyid_zone_offset'>zone_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_timezone'>timezone</span><span class='comma'>,</span> <span class='id identifier rubyid_time'>time</span><span class='rparen'>)</span>
849
+ <span class='id identifier rubyid_time'>time</span><span class='period'>.</span><span class='id identifier rubyid_localtime'>localtime</span><span class='lparen'>(</span><span class='id identifier rubyid__zone_offset'>_zone_offset</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='id identifier rubyid__utc_offset'>_utc_offset</span> <span class='op'>-</span> <span class='id identifier rubyid__zone_offset'>_zone_offset</span>
822
850
  <span class='kw'>end</span></pre>
823
851
  </td>
824
852
  </tr>
@@ -921,17 +949,17 @@
921
949
  <pre class="lines">
922
950
 
923
951
 
924
- 116
925
- 117
926
- 118
927
- 119</pre>
952
+ 133
953
+ 134
954
+ 135
955
+ 136</pre>
928
956
  </td>
929
957
  <td>
930
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 116</span>
958
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 133</span>
931
959
 
932
960
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_strptime_with_zone'>strptime_with_zone</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_format'>format</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
933
961
  <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_strptime'>strptime</span><span class='lparen'>(</span><span class='id identifier rubyid_date'>date</span><span class='comma'>,</span> <span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
934
- <span class='id identifier rubyid_overwrite_zone!'>overwrite_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
962
+ <span class='id identifier rubyid_set_zone!'>set_zone!</span><span class='lparen'>(</span><span class='id identifier rubyid_time'>time</span><span class='comma'>,</span> <span class='id identifier rubyid_timezone'>timezone</span><span class='rparen'>)</span>
935
963
  <span class='kw'>end</span></pre>
936
964
  </td>
937
965
  </tr>
@@ -1036,25 +1064,25 @@
1036
1064
  <pre class="lines">
1037
1065
 
1038
1066
 
1039
- 166
1040
- 167
1041
- 168
1042
- 169
1043
- 170
1044
- 171
1045
- 172
1046
- 173
1047
- 174
1048
- 175
1049
- 176
1050
- 177
1051
- 178
1052
- 179
1053
- 180
1054
- 181</pre>
1067
+ 185
1068
+ 186
1069
+ 187
1070
+ 188
1071
+ 189
1072
+ 190
1073
+ 191
1074
+ 192
1075
+ 193
1076
+ 194
1077
+ 195
1078
+ 196
1079
+ 197
1080
+ 198
1081
+ 199
1082
+ 200</pre>
1055
1083
  </td>
1056
1084
  <td>
1057
- <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 166</span>
1085
+ <pre class="code"><span class="info file"># File 'lib/time_with_zone.rb', line 185</span>
1058
1086
 
1059
1087
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_zone_offset'>zone_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_timezone'>timezone</span><span class='comma'>,</span> <span class='id identifier rubyid_time'>time</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1060
1088
  <span class='kw'>if</span> <span class='const'>NUMERIC_PATTERN</span> <span class='op'>===</span> <span class='id identifier rubyid_timezone'>timezone</span>
@@ -1082,7 +1110,7 @@
1082
1110
  </div>
1083
1111
 
1084
1112
  <div id="footer">
1085
- Generated on Sun Oct 30 22:45:52 2016 by
1113
+ Generated on Mon Oct 31 02:34:08 2016 by
1086
1114
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1087
1115
  0.8.7.6 (ruby-2.3.0).
1088
1116
  </div>
@@ -104,7 +104,7 @@
104
104
  </div>
105
105
 
106
106
  <div id="footer">
107
- Generated on Sun Oct 30 22:45:52 2016 by
107
+ Generated on Mon Oct 31 02:34:08 2016 by
108
108
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
109
109
  0.8.7.6 (ruby-2.3.0).
110
110
  </div>
@@ -64,7 +64,7 @@
64
64
  <div id="content"><div id='filecontents'>The MIT License (MIT)<br/><br/>Copyright (c) 2016 Naotoshi Seo<br/><br/>Permission is hereby granted, free of charge, to any person obtaining a copy<br/>of this software and associated documentation files (the &quot;Software&quot;), to deal<br/>in the Software without restriction, including without limitation the rights<br/>to use, copy, modify, merge, publish, distribute, sublicense, and/or sell<br/>copies of the Software, and to permit persons to whom the Software is<br/>furnished to do so, subject to the following conditions:<br/><br/>The above copyright notice and this permission notice shall be included in<br/>all copies or substantial portions of the Software.<br/><br/>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br/>IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br/>FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE<br/>AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br/>LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,<br/>OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN<br/>THE SOFTWARE.</div></div>
65
65
 
66
66
  <div id="footer">
67
- Generated on Sun Oct 30 22:45:52 2016 by
67
+ Generated on Mon Oct 31 02:34:08 2016 by
68
68
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
69
69
  0.8.7.6 (ruby-2.3.0).
70
70
  </div>
@@ -64,8 +64,8 @@
64
64
  <div id="content"><div id='filecontents'>
65
65
  <h1 id="label-TimeWithZone">TimeWithZone</h1>
66
66
 
67
- <p>Handle Time with Timezone without ActiveSupport or <code>ENV['TZ']</code>
68
- for thread-safety.</p>
67
+ <p>Handle time with zone without ActiveSupport or <code>ENV['TZ']</code> for
68
+ thread-safety.</p>
69
69
 
70
70
  <h2 id="label-Installation">Installation</h2>
71
71
 
@@ -84,7 +84,8 @@ for thread-safety.</p>
84
84
 
85
85
  <h2 id="label-Usage">Usage</h2>
86
86
 
87
- <p>See <a href="https://sonots.github.io/time_with_zone/frames.html">docs</a></p>
87
+ <p>See <a
88
+ href="https://sonots.github.io/time_with_zone/TimeWithZone.html">docs</a></p>
88
89
 
89
90
  <h2 id="label-Development">Development</h2>
90
91
 
@@ -103,6 +104,10 @@ for thread-safety.</p>
103
104
  <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_bundle'>bundle</span> <span class='id identifier rubyid_exec'>exec</span> <span class='id identifier rubyid_rake'>rake</span> <span class='id identifier rubyid_release'>release</span>
104
105
  </code></pre>
105
106
 
107
+ <h2 id="label-CHANGELOG">CHANGELOG</h2>
108
+
109
+ <p><a href="./CHANGELOG.md">CHANGELOG.md</a></p>
110
+
106
111
  <h2 id="label-Contributing">Contributing</h2>
107
112
 
108
113
  <p>Bug reports and pull requests are welcome on GitHub at <a
@@ -119,7 +124,7 @@ href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
119
124
  </div></div>
120
125
 
121
126
  <div id="footer">
122
- Generated on Sun Oct 30 22:45:52 2016 by
127
+ Generated on Mon Oct 31 02:34:08 2016 by
123
128
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
124
129
  0.8.7.6 (ruby-2.3.0).
125
130
  </div>
@@ -64,8 +64,8 @@
64
64
  <div id="content"><div id='filecontents'>
65
65
  <h1 id="label-TimeWithZone">TimeWithZone</h1>
66
66
 
67
- <p>Handle Time with Timezone without ActiveSupport or <code>ENV['TZ']</code>
68
- for thread-safety.</p>
67
+ <p>Handle time with zone without ActiveSupport or <code>ENV['TZ']</code> for
68
+ thread-safety.</p>
69
69
 
70
70
  <h2 id="label-Installation">Installation</h2>
71
71
 
@@ -84,7 +84,8 @@ for thread-safety.</p>
84
84
 
85
85
  <h2 id="label-Usage">Usage</h2>
86
86
 
87
- <p>See <a href="https://sonots.github.io/time_with_zone/frames.html">docs</a></p>
87
+ <p>See <a
88
+ href="https://sonots.github.io/time_with_zone/TimeWithZone.html">docs</a></p>
88
89
 
89
90
  <h2 id="label-Development">Development</h2>
90
91
 
@@ -103,6 +104,10 @@ for thread-safety.</p>
103
104
  <pre class="code ruby"><code class="ruby"><span class='id identifier rubyid_bundle'>bundle</span> <span class='id identifier rubyid_exec'>exec</span> <span class='id identifier rubyid_rake'>rake</span> <span class='id identifier rubyid_release'>release</span>
104
105
  </code></pre>
105
106
 
107
+ <h2 id="label-CHANGELOG">CHANGELOG</h2>
108
+
109
+ <p><a href="./CHANGELOG.md">CHANGELOG.md</a></p>
110
+
106
111
  <h2 id="label-Contributing">Contributing</h2>
107
112
 
108
113
  <p>Bug reports and pull requests are welcome on GitHub at <a
@@ -119,7 +124,7 @@ href="http://opensource.org/licenses/MIT">MIT License</a>.</p>
119
124
  </div></div>
120
125
 
121
126
  <div id="footer">
122
- Generated on Sun Oct 30 22:45:52 2016 by
127
+ Generated on Mon Oct 31 02:34:08 2016 by
123
128
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
124
129
  0.8.7.6 (ruby-2.3.0).
125
130
  </div>
@@ -64,19 +64,19 @@
64
64
 
65
65
 
66
66
  <li class="r1 ">
67
- <span class='object_link'><a href="TimeWithZone.html#overwrite_zone-class_method" title="TimeWithZone.overwrite_zone (method)">overwrite_zone</a></span>
67
+ <span class='object_link'><a href="TimeWithZone.html#parse_with_zone-class_method" title="TimeWithZone.parse_with_zone (method)">parse_with_zone</a></span>
68
68
  <small>TimeWithZone</small>
69
69
  </li>
70
70
 
71
71
 
72
72
  <li class="r2 ">
73
- <span class='object_link'><a href="TimeWithZone.html#overwrite_zone%21-class_method" title="TimeWithZone.overwrite_zone! (method)">overwrite_zone!</a></span>
73
+ <span class='object_link'><a href="TimeWithZone.html#set_zone-class_method" title="TimeWithZone.set_zone (method)">set_zone</a></span>
74
74
  <small>TimeWithZone</small>
75
75
  </li>
76
76
 
77
77
 
78
78
  <li class="r1 ">
79
- <span class='object_link'><a href="TimeWithZone.html#parse_with_zone-class_method" title="TimeWithZone.parse_with_zone (method)">parse_with_zone</a></span>
79
+ <span class='object_link'><a href="TimeWithZone.html#set_zone%21-class_method" title="TimeWithZone.set_zone! (method)">set_zone!</a></span>
80
80
  <small>TimeWithZone</small>
81
81
  </li>
82
82
 
@@ -103,7 +103,7 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sun Oct 30 22:45:52 2016 by
106
+ Generated on Mon Oct 31 02:34:08 2016 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
108
  0.8.7.6 (ruby-2.3.0).
109
109
  </div>
@@ -2,6 +2,23 @@ require_relative 'time_with_zone/version'
2
2
  require 'time'
3
3
  require 'tzinfo'
4
4
 
5
+ # Handle time with zone withtout ActiveSupport or ENV\['TZ'\]
6
+ #
7
+ # require 'time_with_zone'
8
+ #
9
+ # TimeWithZone.strptime_with_zone('2016-10-10', '%Y-%m-%d', 'Asia/Taipei')
10
+ # # => '2016-10-10 00:00:00 +0800'
11
+ #
12
+ # TimeWithZone.parse_with_zone('2016-10-10', 'Asia/Taipei')
13
+ # # => '2016-10-10 00:00:00 +0800'
14
+ #
15
+ # time = Time.parse('2016-10-10 00:00:00 +00:00')
16
+ # TimeWithZone.set_zone!(time, 'Asia/Taipei')
17
+ # # => '2016-10-10 00:00:00 +0800'
18
+ #
19
+ # time = Time.parse('2016-10-10 00:00:00 +00:00')
20
+ # TimeWithZone.localtime_with_zone(time, 'Asia/Taipei')
21
+ # # => '2016-10-10 08:00:00 +0800'
5
22
  class TimeWithZone
6
23
  # [+-]HH:MM, [+-]HHMM, [+-]HH
7
24
  NUMERIC_PATTERN = %r{\A[+-]\d\d(:?\d\d)?\z}
@@ -83,7 +100,7 @@ class TimeWithZone
83
100
  # @param [String] timezone {NUMERIC_PATTERN} or {NAME_PATTERN} or {ZoneOffset}
84
101
  def self.parse_with_zone(date, timezone)
85
102
  time = Time.parse(date)
86
- overwrite_zone!(time, timezone)
103
+ set_zone!(time, timezone)
87
104
  end
88
105
 
89
106
  # Time.strptime with timezone
@@ -115,29 +132,31 @@ class TimeWithZone
115
132
  # @param [String] timezone {NUMERIC_PATTERN} or {NAME_PATTERN} or {ZoneOffset}
116
133
  def self.strptime_with_zone(date, format, timezone)
117
134
  time = Time.strptime(date, format)
118
- overwrite_zone!(time, timezone)
135
+ set_zone!(time, timezone)
119
136
  end
120
137
 
121
- # This method simply overwrites the zone field of Time object (non-destructive)
138
+ # This method simply sets the zone field of Time object (non-destructive)
122
139
  #
123
140
  # require 'time_with_zone'
124
141
  #
125
- # TimeWithZone.overwrite_zone!(Time.parse("2010-02-02 +09:00"), "+08:00")
126
- # #=> "2010-02-02 00:00:00 +08:00" (Note that not "2010-02-01 23:00:00 +08:00")
142
+ # time = Time.parse("2016-02-02 00:00:00 +00:00")
143
+ # TimeWithZone.set_zone(time, "+08:00")
144
+ # #=> "2016-02-02 00:00:00 +0800"
145
+ # # Note that it is not "2016-02-02 08:00:00 +0800" like Time#localtime(timezone)
127
146
  #
128
147
  # @param [Time] time
129
148
  # @param [String] timezone
130
149
  # @return [Time]
131
- def self.overwrite_zone(time, timezone)
132
- overwrite_zone!(time.dup, timezone)
150
+ def self.set_zone(time, timezone)
151
+ set_zone!(time.dup, timezone)
133
152
  end
134
153
 
135
- # This method simply overwrites the zone field of Time object (destructive)
154
+ # This method simply sets the zone field of Time object (destructive)
136
155
  #
137
156
  # @param [Time] time
138
157
  # @param [String] timezone
139
- # @see overwrite_zone
140
- def self.overwrite_zone!(time, timezone)
158
+ # @see set_zone
159
+ def self.set_zone!(time, timezone)
141
160
  _utc_offset = time.utc_offset
142
161
  _zone_offset = zone_offset(timezone, time)
143
162
  time.localtime(_zone_offset) + _utc_offset - _zone_offset
@@ -1,3 +1,3 @@
1
1
  class TimeWithZone
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["sonots"]
10
10
  spec.email = ["sonots@gmail.com"]
11
11
 
12
- spec.summary = %q{Handle Time with Timezone withtout ActiveSupport or ENV['TZ']}
13
- spec.description = %q{Handle Time with Timezone withtout ActiveSupport or ENV['TZ']}
12
+ spec.summary = %q{Handle time with zone withtout ActiveSupport or ENV['TZ']}
13
+ spec.description = %q{Handle time with zone withtout ActiveSupport or ENV['TZ']}
14
14
  spec.homepage = "https://github.com/sonots/time_with_zone"
15
15
  spec.license = "MIT"
16
16
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: time_with_zone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sonots
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '10.0'
55
- description: Handle Time with Timezone withtout ActiveSupport or ENV['TZ']
55
+ description: Handle time with zone withtout ActiveSupport or ENV['TZ']
56
56
  email:
57
57
  - sonots@gmail.com
58
58
  executables: []
@@ -113,6 +113,6 @@ rubyforge_project:
113
113
  rubygems_version: 2.5.1
114
114
  signing_key:
115
115
  specification_version: 4
116
- summary: Handle Time with Timezone withtout ActiveSupport or ENV['TZ']
116
+ summary: Handle time with zone withtout ActiveSupport or ENV['TZ']
117
117
  test_files: []
118
118
  has_rdoc: