when_exe 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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: