when_exe 0.3.1 → 0.3.2

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 (53) hide show
  1. data/lib/when_exe.rb +98 -64
  2. data/lib/when_exe/basictypes.rb +2 -2
  3. data/lib/when_exe/calendartypes.rb +5 -2
  4. data/lib/when_exe/coordinates.rb +11 -1
  5. data/lib/when_exe/core/duration.rb +38 -0
  6. data/lib/when_exe/core/extension.rb +17 -4
  7. data/lib/when_exe/ephemeris.rb +49 -17
  8. data/lib/when_exe/icalendar.rb +19 -17
  9. data/lib/when_exe/inspect.rb +16 -4
  10. data/lib/when_exe/mini_application.rb +42 -4
  11. data/lib/when_exe/parts/locale.rb +30 -13
  12. data/lib/when_exe/parts/resource.rb +59 -36
  13. data/lib/when_exe/parts/timezone.rb +19 -13
  14. data/lib/when_exe/region/bahai.rb +5 -4
  15. data/lib/when_exe/region/balinese.rb +2 -2
  16. data/lib/when_exe/region/chinese.rb +11 -11
  17. data/lib/when_exe/region/chinese_calendar.rb +37 -79
  18. data/lib/when_exe/region/chinese_epoch.rb +832 -831
  19. data/lib/when_exe/region/christian.rb +6 -6
  20. data/lib/when_exe/region/far_east.rb +104 -104
  21. data/lib/when_exe/region/french.rb +4 -4
  22. data/lib/when_exe/region/geologicalage.rb +9 -8
  23. data/lib/when_exe/region/indian.rb +10 -10
  24. data/lib/when_exe/region/iranian.rb +3 -3
  25. data/lib/when_exe/region/islamic.rb +3 -3
  26. data/lib/when_exe/region/japanese.rb +376 -376
  27. data/lib/when_exe/region/japanese_notes.rb +60 -60
  28. data/lib/when_exe/region/javanese.rb +4 -4
  29. data/lib/when_exe/region/jewish.rb +2 -2
  30. data/lib/when_exe/region/korean.rb +204 -204
  31. data/lib/when_exe/region/m17n.rb +1 -1
  32. data/lib/when_exe/region/martian.rb +2 -2
  33. data/lib/when_exe/region/mayan.rb +1 -1
  34. data/lib/when_exe/region/nihon_shoki.rb +43 -43
  35. data/lib/when_exe/region/pope.rb +271 -271
  36. data/lib/when_exe/region/roman.rb +13 -12
  37. data/lib/when_exe/region/ryukyu.rb +47 -47
  38. data/lib/when_exe/region/shire.rb +4 -4
  39. data/lib/when_exe/region/thai.rb +2 -2
  40. data/lib/when_exe/region/tibetan.rb +3 -3
  41. data/lib/when_exe/region/vietnamese.rb +122 -122
  42. data/lib/when_exe/region/world.rb +2 -2
  43. data/lib/when_exe/timestandard.rb +112 -67
  44. data/lib/when_exe/tmobjects.rb +4 -0
  45. data/lib/when_exe/tmposition.rb +63 -10
  46. data/lib/when_exe/tmreference.rb +34 -13
  47. data/lib/when_exe/version.rb +1 -1
  48. data/test/test/icalendar.rb +29 -29
  49. data/test/test/region/m17n.rb +4 -4
  50. data/test/test/tmobjects.rb +9 -0
  51. data/test/test/tmposition.rb +3 -3
  52. data/when_exe.gemspec +1 -1
  53. metadata +4 -2
@@ -6,5 +6,5 @@
6
6
  =end
7
7
 
8
8
  module When
9
- VERSION = "0.3.1"
9
+ VERSION = "0.3.2"
10
10
  end
@@ -222,13 +222,13 @@ module Test:V
222
222
 
223
223
  sample = [
224
224
  "1997-10-26T01:30:00-04:00",
225
- "1997-10-26T02:30:00-04:00",
225
+ "1997-10-26T01:30:00-05:00", # * 02:30:00-04:00
226
226
  "1997-10-26T02:30:00-05:00",
227
227
  "1997-10-26T03:30:00-05:00",
228
228
  "1998-10-25T01:30:00-04:00",
229
229
  ]
230
230
  When::V::Event.new({
231
- 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;BYHOUR=1,2,2=,3;BYMINUTE=30',
231
+ 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;BYHOUR=1,1=,2,3;BYMINUTE=30', # *
232
232
  'dtstart' => 'TZID=America/New_York:19971026T013000'
233
233
  }).each do |date|
234
234
  assert_equal(sample.shift, date.to_s)
@@ -241,7 +241,7 @@ module Test:V
241
241
  "1998-10-18T01:30:00-04:00",
242
242
  ]
243
243
  When::V::Event.new({
244
- 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-2SU;BYHOUR=1,2,2=;BYMINUTE=30',
244
+ 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-2SU;BYHOUR=1,1=,2;BYMINUTE=30', # *
245
245
  'dtstart' => 'TZID=America/New_York:19971019T013000'
246
246
  }).each do |date|
247
247
  assert_equal(sample.shift, date.to_s)
@@ -267,7 +267,7 @@ module Test:V
267
267
 
268
268
  sample = [
269
269
  "1997-04-06T01:30:00-06:00",
270
- "1997-04-06T02:30:00-06:00", # "1997-04-06T03:30:00-05:00", - TODO !!
270
+ "1997-04-06T03:30:00-05:00", # TODO !!
271
271
  "1997-04-06T04:30:00-05:00",
272
272
  "1998-04-05T01:30:00-06:00",
273
273
  ]
@@ -281,13 +281,13 @@ module Test:V
281
281
 
282
282
  sample = [
283
283
  "1997-10-26T01:30:00-05:00",
284
- # "1997-10-26T02:30:00-05:00", - TODO !!
284
+ "1997-10-26T01:30:00-06:00", # * - TODO !!
285
285
  "1997-10-26T02:30:00-06:00",
286
286
  "1997-10-26T03:30:00-06:00",
287
287
  "1998-10-25T01:30:00-05:00",
288
288
  ]
289
289
  When::V::Event.new({
290
- 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;BYHOUR=1,2,2=,3;BYMINUTE=30',
290
+ 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU;BYHOUR=1,1=,2,3;BYMINUTE=30', # *
291
291
  'dtstart' => 'TZID=America/Chicago:19971026T013000'
292
292
  }).each do |date|
293
293
  assert_equal(sample.shift, date.to_s)
@@ -299,7 +299,7 @@ module Test:V
299
299
  "1998-10-18T01:30:00-05:00",
300
300
  ]
301
301
  When::V::Event.new({
302
- 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-2SU;BYHOUR=1,2,2=;BYMINUTE=30',
302
+ 'rrule' => 'FREQ=YEARLY;BYMONTH=10;BYDAY=-2SU;BYHOUR=1,1=,2;BYMINUTE=30', # *
303
303
  'dtstart' => 'TZID=America/Chicago:19971019T013000'
304
304
  }).each do |date|
305
305
  assert_equal(sample.shift, date.to_s)
@@ -496,12 +496,12 @@ module Test:V
496
496
  ["1997-04-06T01:59:59", "1997-04-06T01:59:59-05:00"],
497
497
  ["1997-04-06T02:00:00", "1997-04-06T02:00:00-04:00"],
498
498
  ["1997-04-06T03:00:00", "1997-04-06T03:00:00-04:00"],
499
- ["1997-10-26T01:59:00", "1997-10-26T01:59:00-04:00"],
500
- ["1997-10-26T02:00:00", "1997-10-26T02:00:00-04:00"],
501
- ["1997-10-26T02:59:59", "1997-10-26T02:59:59-04:00"],
502
- ["1997-10-26T02=00:00", "1997-10-26T02:00:00-05:00"],
503
- ["1997-10-26T02=59:59", "1997-10-26T02:59:59-05:00"],
504
- ["1997-10-26T03:00:00", "1997-10-26T03:00:00-05:00"]
499
+ ["1997-10-26T00:59:00", "1997-10-26T00:59:00-04:00"], # *
500
+ ["1997-10-26T01:00:00", "1997-10-26T01:00:00-04:00"], # *
501
+ ["1997-10-26T01:59:59", "1997-10-26T01:59:59-04:00"], # *
502
+ ["1997-10-26T01=00:00", "1997-10-26T01:00:00-05:00"], # *
503
+ ["1997-10-26T01=59:59", "1997-10-26T01:59:59-05:00"], # *
504
+ ["1997-10-26T02:00:00", "1997-10-26T02:00:00-05:00"] # *
505
505
  ].each do |sample|
506
506
  assert_equal(sample[1], When.when?(sample[0], {:clock=>tz}).to_s)
507
507
  end
@@ -511,11 +511,11 @@ module Test:V
511
511
  ["19970406T015959-0500", "1997-04-06T01:59:59-05:00"],
512
512
  ["19970406T020000-0500", "1997-04-06T03:00:00-04:00"],
513
513
  ["19970406T030000-0500", "1997-04-06T04:00:00-04:00"],
514
- ["19971026T015959-0400", "1997-10-26T01:59:59-04:00"],
515
- ["19971026T020000-0400", "1997-10-26T02:00:00-04:00"],
516
- ["19971026T025959-0400", "1997-10-26T02:59:59-04:00"],
517
- ["19971026T030000-0400", "1997-10-26T02:00:00-05:00"],
518
- ["19971026T040000-0400", "1997-10-26T03:00:00-05:00"],
514
+ ["19971026T005959-0400", "1997-10-26T00:59:59-04:00"], # *
515
+ ["19971026T010000-0400", "1997-10-26T01:00:00-04:00"], # *
516
+ ["19971026T015959-0400", "1997-10-26T01:59:59-04:00"], # *
517
+ ["19971026T020000-0400", "1997-10-26T01:00:00-05:00"], # *
518
+ ["19971026T030000-0400", "1997-10-26T02:00:00-05:00"] # *
519
519
  ].each do |sample|
520
520
  sdate = When.when?(sample[0])
521
521
  ddate = gc.jul_trans(sdate, {:clock=>tz})
@@ -532,11 +532,11 @@ module Test:V
532
532
  ["19970406T015959-0600", "1997-04-06T01:59:59-06:00"],
533
533
  ["19970406T020000-0600", "1997-04-06T03:00:00-05:00"],
534
534
  ["19970406T030000-0600", "1997-04-06T04:00:00-05:00"],
535
- ["19971026T015959-0500", "1997-10-26T01:59:59-05:00"],
536
- ["19971026T020000-0500", "1997-10-26T02:00:00-05:00"],
537
- ["19971026T025959-0500", "1997-10-26T02:59:59-05:00"],
538
- ["19971026T030000-0500", "1997-10-26T02:00:00-06:00"],
539
- ["19971026T040000-0500", "1997-10-26T03:00:00-06:00"],
535
+ ["19971026T005959-0500", "1997-10-26T00:59:59-05:00"], # *
536
+ ["19971026T010000-0500", "1997-10-26T01:00:00-05:00"], # *
537
+ ["19971026T015959-0500", "1997-10-26T01:59:59-05:00"], # *
538
+ ["19971026T020000-0500", "1997-10-26T01:00:00-06:00"], # *
539
+ ["19971026T030000-0500", "1997-10-26T02:00:00-06:00"], # *
540
540
  ].each do |sample|
541
541
  sdate = When.when?(sample[0])
542
542
  ddate = gc.jul_trans(sdate, {:clock=>tz})
@@ -547,12 +547,12 @@ module Test:V
547
547
  ["1997-04-06T01:59:59", "1997-04-06T01:59:59-06:00"],
548
548
  ["1997-04-06T02:00:00", "1997-04-06T02:00:00-05:00"],
549
549
  ["1997-04-06T03:00:00", "1997-04-06T03:00:00-05:00"],
550
- ["1997-10-26T01:59:00", "1997-10-26T01:59:00-05:00"],
551
- ["1997-10-26T02:00:00", "1997-10-26T02:00:00-06:00"], # "1997-10-26T02:00:00-05:00" - TODO !!
552
- ["1997-10-26T02:59:59", "1997-10-26T02:59:59-06:00"], # "1997-10-26T02:59:59-05:00" - TODO !!
553
- ["1997-10-26T02=00:00", "1997-10-26T02:00:00-06:00"],
554
- ["1997-10-26T02=59:59", "1997-10-26T02:59:59-06:00"],
555
- ["1997-10-26T03:00:00", "1997-10-26T03:00:00-06:00"]
550
+ ["1997-10-26T00:59:00", "1997-10-26T00:59:00-05:00"], # *
551
+ ["1997-10-26T01:00:00", "1997-10-26T01:00:00-05:00"], # * # "1997-10-26T02:00:00-05:00" - TODO !!
552
+ ["1997-10-26T01:59:59", "1997-10-26T01:59:59-05:00"], # * # "1997-10-26T02:59:59-05:00" - TODO !!
553
+ ["1997-10-26T01=00:00", "1997-10-26T01:00:00-06:00"], # *
554
+ ["1997-10-26T01=59:59", "1997-10-26T01:59:59-06:00"], # *
555
+ ["1997-10-26T02:00:00", "1997-10-26T02:00:00-06:00"] # *
556
556
  ].each do |sample|
557
557
  assert_equal(sample[1], When.when?(sample[0], {:clock=>tz}).to_s)
558
558
  end
@@ -136,17 +136,17 @@ module Test
136
136
 
137
137
  ['明治7.5.7',
138
138
  {:calendar=>["_e:Japanese::明治",1867], :sdn=>2405651, :cal_date=>[7, 5, 7],
139
- :notes=>[[{:note=>"干支", :value=>"庚午(6)", :position=>"共通"}],
139
+ :notes=>[[{:note=>"干支", :value=>"甲戌(10)", :position=>"共通"}],
140
140
  [{:note=>"月名", :value=>"May", :position=>"月建"}],
141
141
  [{:note=>"干支", :value=>"甲子(0)", :position=>"共通"},
142
- {:note=>"六曜", :value=>"大安", :position=>"民間"}]]}],
142
+ {:note=>"六曜", :value=>"赤口", :position=>"民間"}]]}],
143
143
 
144
144
  ['明治17.5.7',
145
145
  {:calendar=>["_e:Japanese::明治",1867], :sdn=>2409304, :cal_date=>[17, 5, 7],
146
- :notes=>[[{:note=>"干支", :value=>"庚辰(16)", :position=>"共通"}],
146
+ :notes=>[[{:note=>"干支", :value=>"甲申(20)", :position=>"共通"}],
147
147
  [{:note=>"月名", :value=>"May", :position=>"月建"}],
148
148
  [{:note=>"干支", :value=>"丁巳(53)", :position=>"共通"},
149
- {:note=>"六曜", :value=>"友引", :position=>"民間"}]]}],
149
+ {:note=>"六曜", :value=>"先負", :position=>"民間"}]]}],
150
150
 
151
151
  ['CE-2010.06.08T12:00:00+09:00',
152
152
  {:calendar=>["_e:Common::BCE", 1, true], :sdn=>987064, :cal_date=>[-2011, 6, 8],
@@ -242,10 +242,19 @@ module Test::TM
242
242
  duration = When::TM::Duration.dhms(1,2,3,4.4)
243
243
  stop = start + duration
244
244
  assert_equal((RUBY_VERSION.to_f<1.9 ? 93784.4 : 93784), stop-start)
245
+ assert_raise(TypeError) {
246
+ ::Date.today + duration
247
+ }
245
248
  require 'when_exe/core/duration'
246
249
  stop = start + duration
247
250
  assert_equal(93784.4, stop-start)
248
251
 
252
+ now_date = DateTime.now
253
+ duration = When::TM::Duration.hour(8)
254
+ assert_equal(Rational(1,128), (now_date + duration * 3 / 128 ) - now_date)
255
+ assert_equal(Rational(1,3), (now_date + duration ) - now_date)
256
+ assert_equal(Rational(1,1), (now_date + duration * 3) - now_date)
257
+
249
258
  stop = start + When.Duration('P1DT2H3M4S')
250
259
  assert_equal(93784, stop-start)
251
260
 
@@ -190,10 +190,10 @@ LIST
190
190
 
191
191
  obj4 = When.when?("1997-10-26T00:00:00", {:clock=>tz})
192
192
  [["PT1H", "1997-10-26T01:00:00-04:00"],
193
- ["PT2H", "1997-10-26T02:00:00-04:00"],
193
+ ["PT2H", "1997-10-26T02:00:00-05:00"], # *
194
194
  ["PT3H", "1997-10-26T03:00:00-05:00"],
195
195
  [1 * When::TM::Duration::HOUR, "1997-10-26T01:00:00-04:00"],
196
- [2 * When::TM::Duration::HOUR, "1997-10-26T02:00:00-04:00"],
196
+ [2 * When::TM::Duration::HOUR, "1997-10-26T01:00:00-05:00"], # *
197
197
  [3 * When::TM::Duration::HOUR, "1997-10-26T02:00:00-05:00"]].each do |sample|
198
198
  assert_equal(sample[1], (obj4 + When::Duration(sample[0])).to_s)
199
199
  end
@@ -208,7 +208,7 @@ LIST
208
208
  ["PT2H", "1997-10-26T02:00:00-05:00"], # "1997-10-26T02:00:00-04:00" - TODO !!
209
209
  ["PT3H", "1997-10-26T03:00:00-05:00"],
210
210
  [1 * When::TM::Duration::HOUR, "1997-10-26T01:00:00-04:00"],
211
- [2 * When::TM::Duration::HOUR, "1997-10-26T02:00:00-04:00"],
211
+ [2 * When::TM::Duration::HOUR, "1997-10-26T01:00:00-05:00"], # *
212
212
  [3 * When::TM::Duration::HOUR, "1997-10-26T02:00:00-05:00"]].each do |sample|
213
213
  assert_equal(sample[1], (obj4 + When::Duration(sample[0])).to_s)
214
214
  end
data/when_exe.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
9
9
  s.email = ["suchowan@box.email.ne.jp"]
10
10
  s.homepage = "http://www.asahi-net.or.jp/~dd6t-sg/"
11
11
  s.summary = %q{A multicultural and multilingualized calendar library based on ISO 8601, ISO 19108 and RFC 5545}
12
- s.description = %q{This library supports ISO 8601, ISO 19108 and RFC 5545. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future.}
12
+ s.description = %q{This library supports ISO 8601, ISO 19108 and RFC 5545. This version is a beta version and in the evaluation stage. So, its APIs may be changed in future. Please see also the differences of ticket files from http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.1beta.zip to http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.2beta.zip.}
13
13
 
14
14
  s.rubyforge_project = "when_exe"
15
15
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: when_exe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,10 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-05 00:00:00.000000000Z
12
+ date: 2013-10-08 00:00:00.000000000Z
13
13
  dependencies: []
14
14
  description: This library supports ISO 8601, ISO 19108 and RFC 5545. This version
15
15
  is a beta version and in the evaluation stage. So, its APIs may be changed in future.
16
+ Please see also the differences of ticket files from http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.1beta.zip
17
+ to http://www.asahi-net.or.jp/~dd6t-sg/date/when_exe_rev.0.3.2beta.zip.
16
18
  email:
17
19
  - suchowan@box.email.ne.jp
18
20
  executables: