when_exe 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/irb.rc +1 -0
- data/bin/locales.rb +8 -6
- data/bin/when.rb +1 -1
- data/lib/when_exe.rb +231 -146
- data/lib/when_exe/basictypes.rb +108 -18
- data/lib/when_exe/calendarnote.rb +263 -116
- data/lib/when_exe/calendartypes.rb +413 -22
- data/lib/when_exe/coordinates.rb +58 -36
- data/lib/when_exe/core/compatibility.rb +8 -6
- data/lib/when_exe/core/extension.rb +40 -15
- data/lib/when_exe/ephemeris.rb +20 -19
- data/lib/when_exe/{region → ephemeris}/moon.rb +4 -4
- data/lib/when_exe/{region/ephemeric_notes.rb → ephemeris/notes.rb} +25 -6
- data/lib/when_exe/{region → ephemeris}/planets.rb +0 -0
- data/lib/when_exe/{region → ephemeris}/sun.rb +7 -3
- data/lib/when_exe/{region → ephemeris}/v50.rb +0 -0
- data/lib/when_exe/googlecalendar.rb +2 -2
- data/lib/when_exe/icalendar.rb +3 -3
- data/lib/when_exe/inspect.rb +130 -70
- data/lib/when_exe/locales/af.rb +2 -2
- data/lib/when_exe/locales/akt.rb +176 -0
- data/lib/when_exe/locales/ar.rb +2 -2
- data/lib/when_exe/locales/{locales.rb → autoload.rb} +6 -2
- data/lib/when_exe/locales/az.rb +2 -2
- data/lib/when_exe/locales/bg.rb +2 -2
- data/lib/when_exe/locales/bn.rb +2 -2
- data/lib/when_exe/locales/bs.rb +2 -2
- data/lib/when_exe/locales/ca.rb +2 -2
- data/lib/when_exe/locales/cs.rb +2 -2
- data/lib/when_exe/locales/cy.rb +2 -2
- data/lib/when_exe/locales/da.rb +2 -2
- data/lib/when_exe/locales/de.rb +2 -2
- data/lib/when_exe/locales/de_AT.rb +2 -2
- data/lib/when_exe/locales/de_CH.rb +2 -2
- data/lib/when_exe/locales/el.rb +2 -2
- data/lib/when_exe/locales/en.rb +2 -2
- data/lib/when_exe/locales/en_AU.rb +2 -2
- data/lib/when_exe/locales/en_CA.rb +2 -2
- data/lib/when_exe/locales/en_GB.rb +2 -2
- data/lib/when_exe/locales/en_IE.rb +2 -2
- data/lib/when_exe/locales/en_IN.rb +3 -3
- data/lib/when_exe/locales/en_NZ.rb +2 -2
- data/lib/when_exe/locales/en_US.rb +2 -2
- data/lib/when_exe/locales/en_ZA.rb +88 -0
- data/lib/when_exe/locales/encoding_conversion.rb +126 -0
- data/lib/when_exe/locales/eo.rb +2 -2
- data/lib/when_exe/locales/es.rb +2 -2
- data/lib/when_exe/locales/es_419.rb +2 -2
- data/lib/when_exe/locales/es_AR.rb +2 -2
- data/lib/when_exe/locales/es_CL.rb +2 -2
- data/lib/when_exe/locales/es_CO.rb +2 -2
- data/lib/when_exe/locales/es_CR.rb +2 -2
- data/lib/when_exe/locales/es_EC.rb +2 -2
- data/lib/when_exe/locales/es_MX.rb +2 -2
- data/lib/when_exe/locales/es_PA.rb +2 -2
- data/lib/when_exe/locales/es_PE.rb +2 -2
- data/lib/when_exe/locales/es_US.rb +84 -0
- data/lib/when_exe/locales/es_VE.rb +2 -2
- data/lib/when_exe/locales/et.rb +2 -2
- data/lib/when_exe/locales/eu.rb +2 -2
- data/lib/when_exe/locales/fa.rb +2 -2
- data/lib/when_exe/locales/fi.rb +3 -3
- data/lib/when_exe/locales/fr.rb +2 -2
- data/lib/when_exe/locales/fr_CA.rb +2 -2
- data/lib/when_exe/locales/fr_CH.rb +2 -2
- data/lib/when_exe/locales/gl.rb +2 -2
- data/lib/when_exe/locales/he.rb +3 -3
- data/lib/when_exe/locales/hi.rb +2 -2
- data/lib/when_exe/locales/hi_IN.rb +2 -2
- data/lib/when_exe/locales/hr.rb +2 -2
- data/lib/when_exe/locales/hu.rb +6 -5
- data/lib/when_exe/locales/iast.rb +90 -0
- data/lib/when_exe/locales/id.rb +2 -2
- data/lib/when_exe/locales/is.rb +2 -2
- data/lib/when_exe/locales/it.rb +2 -2
- data/lib/when_exe/locales/it_CH.rb +2 -2
- data/lib/when_exe/locales/ja.rb +2 -2
- data/lib/when_exe/locales/kn.rb +2 -2
- data/lib/when_exe/locales/ko.rb +2 -2
- data/lib/when_exe/locales/links.rb +3 -3
- data/lib/when_exe/locales/lo.rb +2 -2
- data/lib/when_exe/{parts → locales}/locale.rb +77 -49
- data/lib/when_exe/locales/lt.rb +6 -2
- data/lib/when_exe/locales/lv.rb +2 -2
- data/lib/when_exe/locales/mk.rb +2 -2
- data/lib/when_exe/locales/mn.rb +2 -2
- data/lib/when_exe/locales/ms.rb +2 -2
- data/lib/when_exe/locales/nb.rb +2 -2
- data/lib/when_exe/locales/ne.rb +2 -2
- data/lib/when_exe/locales/nl.rb +2 -2
- data/lib/when_exe/locales/nn.rb +2 -2
- data/lib/when_exe/locales/or.rb +2 -2
- data/lib/when_exe/locales/pl.rb +2 -2
- data/lib/when_exe/locales/pt.rb +2 -2
- data/lib/when_exe/locales/pt_BR.rb +2 -2
- data/lib/when_exe/locales/rm.rb +2 -2
- data/lib/when_exe/locales/ro.rb +2 -2
- data/lib/when_exe/locales/ru.rb +2 -2
- data/lib/when_exe/locales/sk.rb +2 -2
- data/lib/when_exe/locales/sl.rb +2 -2
- data/lib/when_exe/locales/sr.rb +2 -2
- data/lib/when_exe/locales/sv.rb +2 -2
- data/lib/when_exe/locales/sw.rb +2 -2
- data/lib/when_exe/locales/ta.rb +95 -0
- data/lib/when_exe/locales/th.rb +2 -2
- data/lib/when_exe/locales/tl.rb +3 -3
- data/lib/when_exe/locales/tr.rb +2 -2
- data/lib/when_exe/locales/transliteration_table.rb +62 -0
- data/lib/when_exe/locales/uk.rb +15 -15
- data/lib/when_exe/locales/ur.rb +2 -2
- data/lib/when_exe/locales/uz.rb +2 -2
- data/lib/when_exe/locales/vi.rb +2 -2
- data/lib/when_exe/locales/wo.rb +2 -2
- data/lib/when_exe/locales/zh_CN.rb +2 -2
- data/lib/when_exe/locales/zh_HK.rb +15 -15
- data/lib/when_exe/locales/zh_TW.rb +2 -2
- data/lib/when_exe/locales/zh_YUE.rb +77 -0
- data/lib/when_exe/mini_application.rb +22 -12
- data/lib/when_exe/parts/geometric_complex.rb +16 -1
- data/lib/when_exe/parts/method_cash.rb +184 -238
- data/lib/when_exe/parts/resource.rb +65 -16
- data/lib/when_exe/region/armenian.rb +56 -0
- data/lib/when_exe/region/bahai.rb +13 -13
- data/lib/when_exe/region/balinese.rb +33 -35
- data/lib/when_exe/region/chinese.rb +82 -78
- data/lib/when_exe/region/{chinese_calendar.rb → chinese/calendars.rb} +59 -40
- data/lib/when_exe/region/{chinese_epoch.rb → chinese/epochs.rb} +3 -4
- data/lib/when_exe/region/{chinese_twin.rb → chinese/twins.rb} +48 -51
- data/lib/when_exe/region/christian.rb +236 -127
- data/lib/when_exe/region/coptic.rb +9 -10
- data/lib/when_exe/region/dee.rb +48 -0
- data/lib/when_exe/region/discordian.rb +225 -0
- data/lib/when_exe/region/far_east.rb +2 -6
- data/lib/when_exe/region/french.rb +7 -17
- data/lib/when_exe/region/geologicalage.rb +0 -1
- data/lib/when_exe/region/goddess.rb +58 -0
- data/lib/when_exe/region/indian.rb +323 -231
- data/lib/when_exe/region/iranian.rb +159 -22
- data/lib/when_exe/region/islamic.rb +7 -9
- data/lib/when_exe/region/japanese.rb +14 -803
- data/lib/when_exe/region/japanese/calendars.rb +397 -0
- data/lib/when_exe/region/japanese/epochs.rb +426 -0
- data/lib/when_exe/region/{nihon_shoki.rb → japanese/nihon_shoki.rb} +0 -2
- data/lib/when_exe/region/{japanese_notes.rb → japanese/notes.rb} +179 -150
- data/lib/when_exe/region/japanese/residues.rb +1306 -0
- data/lib/when_exe/region/{japanese_twin.rb → japanese/twins.rb} +12 -15
- data/lib/when_exe/region/javanese.rb +16 -14
- data/lib/when_exe/region/jewish.rb +8 -9
- data/lib/when_exe/region/korean.rb +146 -35
- data/lib/when_exe/region/m17n.rb +8 -10
- data/lib/when_exe/region/martian.rb +44 -16
- data/lib/when_exe/region/mayan.rb +12 -10
- data/lib/when_exe/region/pope.rb +0 -1
- data/lib/when_exe/region/residue.rb +4 -5
- data/lib/when_exe/region/roman.rb +20 -24
- data/lib/when_exe/region/ryukyu.rb +3 -4
- data/lib/when_exe/region/shire.rb +97 -94
- data/lib/when_exe/region/symmetry.rb +50 -0
- data/lib/when_exe/region/thai.rb +164 -56
- data/lib/when_exe/region/tibetan.rb +86 -86
- data/lib/when_exe/region/vietnamese.rb +9 -12
- data/lib/when_exe/region/weekdate.rb +80 -0
- data/lib/when_exe/region/world.rb +65 -70
- data/lib/when_exe/region/yerm.rb +98 -0
- data/lib/when_exe/region/zoroastrian.rb +203 -0
- data/lib/when_exe/timestandard.rb +4 -4
- data/lib/when_exe/tmobjects.rb +1 -3
- data/lib/when_exe/tmposition.rb +13 -12
- data/lib/when_exe/tmreference.rb +11 -10
- data/lib/when_exe/version.rb +1 -1
- data/link_to_online_documents +3 -3
- data/test/examples/Residue.m17n +1 -1
- data/test/examples/Terms.m17n +1 -1
- data/test/test.rb +2 -1
- data/test/test/basictypes.rb +18 -2
- data/test/test/calendarnote.rb +1 -1
- data/test/test/calendartypes.rb +1 -1
- data/test/test/coordinates.rb +7 -7
- data/test/test/{region → ephemeris}/moon.rb +0 -0
- data/test/test/{region → ephemeris}/planets.rb +0 -0
- data/test/test/{region → ephemeris}/sun.rb +0 -0
- data/test/test/parts.rb +8 -13
- data/test/test/region/christian.rb +245 -0
- data/test/test/region/french.rb +16 -16
- data/test/test/region/iran.rb +34 -34
- data/test/test/region/japanese.rb +6 -4
- data/test/test/region/m17n.rb +8 -7
- data/test/test/region/mayan.rb +12 -12
- data/test/test/region/residue.rb +20 -4
- data/test/test/region/thai.rb +25 -3
- data/test/test/region/yerm.rb +146 -0
- metadata +39 -20
- data/lib/when_exe/region/japanese_residues.rb +0 -1212
- data/test/test/region/civil.rb +0 -124
@@ -376,8 +376,8 @@ module When::TimeStandard
|
|
376
376
|
#
|
377
377
|
def _normalize_time_basis
|
378
378
|
|
379
|
-
@_time_basis ||= @time_basis || (@location ? @location.long / When::Coordinates::Spatial::DEGREE * 240 : When
|
380
|
-
@_time_basis = When::
|
379
|
+
@_time_basis ||= @time_basis || (@location ? @location.long / When::Coordinates::Spatial::DEGREE * 240 : When::UTC)
|
380
|
+
@_time_basis = When::Locale._split(@_time_basis) if @_time_basis.kind_of?(String)
|
381
381
|
@_time_basis = [@_time_basis] unless @_time_basis.kind_of?(Array)
|
382
382
|
@_time_basis = @_time_basis.map {|clock| When.Clock(clock)}
|
383
383
|
@_time_basis_offset = @_time_basis.map {|clock| -clock.universal_time / When::TM::Duration::DAY}
|
@@ -385,9 +385,9 @@ module When::TimeStandard
|
|
385
385
|
@time_basis = @_time_basis[0] if @time_basis
|
386
386
|
|
387
387
|
if @_time_basis[0].time_standard.kind_of?(LocalApparentTime)
|
388
|
-
|
388
|
+
extend ApparentTimeBasis
|
389
389
|
else
|
390
|
-
|
390
|
+
extend FixedTimeBasis
|
391
391
|
end
|
392
392
|
end
|
393
393
|
end
|
data/lib/when_exe/tmobjects.rb
CHANGED
data/lib/when_exe/tmposition.rb
CHANGED
@@ -191,10 +191,10 @@ module When::TM
|
|
191
191
|
#
|
192
192
|
# @return [When::TM::CalDate, When::TM::DateAndTime]
|
193
193
|
#
|
194
|
-
def
|
194
|
+
def tm_pos(options={})
|
195
195
|
When.Calendar(options[:frame] || 'Gregorian').jul_trans(self, options)
|
196
196
|
end
|
197
|
-
alias :
|
197
|
+
alias :to_tm_pos :tm_pos
|
198
198
|
end
|
199
199
|
|
200
200
|
include When
|
@@ -275,6 +275,7 @@ module When::TM
|
|
275
275
|
# @option options [String] :tz 時法の指定(時間帯を指定する場合 :clock の替わりに用いることができる)
|
276
276
|
# @option options [Array<Numeric>] :abbr ISO8601上位省略形式のためのデフォルト日付(省略時 指定なし)
|
277
277
|
# @option options [Integer] :extra_year_digits ISO8601拡大表記のための年の構成要素拡大桁数(省略時 1桁)
|
278
|
+
# @option options [Integer] :ordinal_date_digits ISO8601拡大表記の年内通日の桁数(省略時 3桁)
|
278
279
|
# @option options [String] :wkst ISO8601週日形式のための暦週開始曜日(省略時 'MO')
|
279
280
|
# @option options [Integer] :precision 生成するオブジェクトの分解能
|
280
281
|
# @option options [When::TimeStandard::TimeStandard] :time_standard 時刻系の指定(省略時 When::TimeStandard::UnversalTime)
|
@@ -440,7 +441,7 @@ module When::TM
|
|
440
441
|
clock = Clock.get_clock_option(query)
|
441
442
|
main[:clock] = clock if clock
|
442
443
|
[:indeterminated_position, :frame, :events, :precision,
|
443
|
-
:era_name, :era, :abbr, :extra_year_digits, :wkst, :time_standard, :location].each do |key|
|
444
|
+
:era_name, :era, :abbr, :extra_year_digits, :ordinal_date_digits, :wkst, :time_standard, :location].each do |key|
|
444
445
|
main[key] = query.delete(key) if (query.key?(key))
|
445
446
|
end
|
446
447
|
long = query.delete(:long)
|
@@ -509,7 +510,7 @@ module When::TM
|
|
509
510
|
when :week
|
510
511
|
position = ((position + PeriodDuration.new(4, DAY)) & (Residue.day_of_week(options[:wkst]) << 1)) +
|
511
512
|
PeriodDuration.new((w[0]-1)*7 + (w[1]||1)-1, DAY)
|
512
|
-
position = When::Parts::GeometricComplex.new(position...(position+
|
513
|
+
position = When::Parts::GeometricComplex.new(position...(position+P1W)) unless w[1]
|
513
514
|
end
|
514
515
|
return position
|
515
516
|
end
|
@@ -634,7 +635,7 @@ module When::TM
|
|
634
635
|
#
|
635
636
|
# @return [::DateTime]
|
636
637
|
#
|
637
|
-
def to_date_time(option={:frame=>When
|
638
|
+
def to_date_time(option={:frame=>When::UTC}, start=_default_start)
|
638
639
|
return JulianDate.dynamical_time(dynamical_time, option).to_date_time unless time_standard.rate_of_clock == 1.0
|
639
640
|
raise TypeError, "Clock not assigned" unless clock
|
640
641
|
Rational
|
@@ -738,7 +739,7 @@ module When::TM
|
|
738
739
|
def prev
|
739
740
|
@precision==When::DAY ? _force_euqal_day(-1) : self-period
|
740
741
|
rescue RangeError
|
741
|
-
(When
|
742
|
+
(When::Gregorian ^ self) - period
|
742
743
|
end
|
743
744
|
|
744
745
|
# 次の日時
|
@@ -750,7 +751,7 @@ module When::TM
|
|
750
751
|
def succ
|
751
752
|
@precision==When::DAY ? _force_euqal_day(+1) : self+period
|
752
753
|
rescue RangeError
|
753
|
-
(When
|
754
|
+
(When::Gregorian ^ self) + period
|
754
755
|
end
|
755
756
|
alias :next :succ
|
756
757
|
|
@@ -1000,11 +1001,11 @@ module When::TM
|
|
1000
1001
|
when date.to_i == jdn
|
1001
1002
|
return date
|
1002
1003
|
when date.to_i > jdn
|
1003
|
-
next_date = date - When::
|
1004
|
-
date = (date.to_i == next_date.to_i) ? date - When::
|
1004
|
+
next_date = date - When::P1D
|
1005
|
+
date = (date.to_i == next_date.to_i) ? date - When::P1D * 2 : next_date
|
1005
1006
|
when date.to_i < jdn
|
1006
|
-
next_date = date + When::
|
1007
|
-
date = (date.to_i == next_date.to_i) ? date + When::
|
1007
|
+
next_date = date + When::P1D
|
1008
|
+
date = (date.to_i == next_date.to_i) ? date + When::P1D * 2 : next_date
|
1008
1009
|
end
|
1009
1010
|
raise RangeError, "can't find target date: #{self} -> #{jdn}" if done.key?(date.to_i)
|
1010
1011
|
done[date.to_i] = true
|
@@ -1076,7 +1077,7 @@ module When::TM
|
|
1076
1077
|
options[:frame] = Clock.get_clock_option(options)
|
1077
1078
|
case time
|
1078
1079
|
when Numeric
|
1079
|
-
options[:frame] ||= When
|
1080
|
+
options[:frame] ||= When::UTC unless time.kind_of?(Integer)
|
1080
1081
|
universal_time = (2*time - (2*JulianDate::JD19700101-1)) * Duration::DAY.to_i / 2.0
|
1081
1082
|
when ClockTime
|
1082
1083
|
options[:frame] ||= time.clock
|
data/lib/when_exe/tmreference.rb
CHANGED
@@ -188,7 +188,7 @@ module When::TM
|
|
188
188
|
cal_options.delete(:era)
|
189
189
|
unless rate_of_clock == jdt.time_standard.rate_of_clock
|
190
190
|
cal_options.delete(:time_standard)
|
191
|
-
cal_options[:clock] = @time_basis || When
|
191
|
+
cal_options[:clock] = @time_basis || When::UTC
|
192
192
|
jdt = JulianDate.dynamical_time(jdt.dynamical_time, {:time_standard=>time_standard})
|
193
193
|
end
|
194
194
|
|
@@ -244,7 +244,7 @@ module When::TM
|
|
244
244
|
#
|
245
245
|
# @return [Numeric] Universal Time
|
246
246
|
#
|
247
|
-
def to_universal_time(cal_date, clk_time, clock=When
|
247
|
+
def to_universal_time(cal_date, clk_time, clock=When::UTC)
|
248
248
|
time = clk_time.dup
|
249
249
|
time[0] += _coordinates_to_number(*_decode(cal_date))
|
250
250
|
clock.to_universal_time(time) - When::TM::JulianDate::JD19700101 * When::TM::Duration::DAY
|
@@ -290,6 +290,7 @@ module When::TM
|
|
290
290
|
@indices ||= DefaultDateIndices
|
291
291
|
_normalize_spatial
|
292
292
|
_normalize_time_basis
|
293
|
+
_default_index_of_MSC
|
293
294
|
_normalize_temporal
|
294
295
|
@reference_frame ||= []
|
295
296
|
end
|
@@ -371,7 +372,7 @@ module When::TM
|
|
371
372
|
def _local_time
|
372
373
|
case @local_time
|
373
374
|
when Array ; @local_time
|
374
|
-
when nil ; @local_time = [false, When
|
375
|
+
when nil ; @local_time = [false, When::UTC]
|
375
376
|
when String ; @local_time = [true, When::Parts::Timezone[@local_time] ||
|
376
377
|
When::V::Timezone[@local_time] ||
|
377
378
|
When.Clock(@local_time)]
|
@@ -530,7 +531,7 @@ module When::TM
|
|
530
531
|
# @return [When::TM::ClockTime]
|
531
532
|
#
|
532
533
|
def utc_trans(u_time)
|
533
|
-
return When.
|
534
|
+
return When::UTC.to_clk_time(self.to_universal_time(u_time.clk_time))
|
534
535
|
end
|
535
536
|
alias :utcTrans :utc_trans
|
536
537
|
|
@@ -541,7 +542,7 @@ module When::TM
|
|
541
542
|
# @return [When::TM::ClockTime]
|
542
543
|
#
|
543
544
|
def clk_trans(clk_time)
|
544
|
-
return self.to_clk_time(When.
|
545
|
+
return self.to_clk_time(When::UTC.to_universal_time(u_time.clk_time))
|
545
546
|
end
|
546
547
|
alias :clkTrans :clk_trans
|
547
548
|
|
@@ -717,7 +718,7 @@ module When::TM
|
|
717
718
|
@indices ||= DefaultTimeIndices
|
718
719
|
|
719
720
|
# note
|
720
|
-
@note ||= '
|
721
|
+
@note ||= 'JulianDay'
|
721
722
|
|
722
723
|
# normalize spatial module
|
723
724
|
_normalize_spatial
|
@@ -735,7 +736,7 @@ module When::TM
|
|
735
736
|
@time_standard = When.Resource(@time_standard||'UniversalTime', '_t:') unless @time_standard.kind_of?(When::TimeStandard)
|
736
737
|
|
737
738
|
# utc_reference
|
738
|
-
@utc_reference ||= @zone ? ClockTime.new(@zone.to_s, {:frame=>When
|
739
|
+
@utc_reference ||= @zone ? ClockTime.new(@zone.to_s, {:frame=>When::UTC}) : Clock.local_time
|
739
740
|
|
740
741
|
# reference_time & origin_of_LSC
|
741
742
|
case @reference_time
|
@@ -782,7 +783,7 @@ module When::TM
|
|
782
783
|
# @return [When::TM::DateAndTime] (When::TM::BasicTypes::DateTimeはまちがい)
|
783
784
|
#
|
784
785
|
def transform_coord(c_value)
|
785
|
-
When
|
786
|
+
When::Gregorian.jul_trans(JulianDate.universal_time(c_value.universal_time, {:frame=>When::UTC}))
|
786
787
|
end
|
787
788
|
alias :transformCoord :transform_coord
|
788
789
|
|
@@ -987,7 +988,7 @@ module When::TM
|
|
987
988
|
args = args.dup
|
988
989
|
options = (args[-1].kind_of?(Hash)) ? args.pop.dup : {}
|
989
990
|
key, epoch, reverse = options.delete(:label) || args
|
990
|
-
key = When::
|
991
|
+
key = When::Locale.ideographic_unification(key)
|
991
992
|
if key.kind_of?(String)
|
992
993
|
key, *parents = key.split(/::/).reverse
|
993
994
|
else
|
@@ -1535,7 +1536,7 @@ module When::TM
|
|
1535
1536
|
@epoch ||= epochs
|
1536
1537
|
@epoch[0] ||= '-Infinity'
|
1537
1538
|
@epoch[1] ||= '+Infinity'
|
1538
|
-
term_options[:options][:frame] ||= When
|
1539
|
+
term_options[:options][:frame] ||= When::Gregorian
|
1539
1540
|
epoch = ''
|
1540
1541
|
@epoch = @epoch.map {|e|
|
1541
1542
|
case e
|
data/lib/when_exe/version.rb
CHANGED
data/link_to_online_documents
CHANGED
@@ -1,4 +1,4 @@
|
|
1
1
|
See online documents.
|
2
|
-
wiki: http://www2u.biglobe.ne.jp/~suchowan/
|
3
|
-
yard: http://
|
4
|
-
demo: http://hosi.org
|
2
|
+
wiki: http://www2u.biglobe.ne.jp/~suchowan/when_exe_wiki.html
|
3
|
+
yard: http://rubydoc.info/gems/when_exe/0.3.5/frames
|
4
|
+
demo: http://hosi.org
|
data/test/examples/Residue.m17n
CHANGED
data/test/examples/Terms.m17n
CHANGED
data/test/test.rb
CHANGED
@@ -45,7 +45,7 @@ require './test/inspect'
|
|
45
45
|
require './test/googlecalendar'
|
46
46
|
require './test/region/m17n'
|
47
47
|
require './test/region/residue'
|
48
|
-
require './test/region/
|
48
|
+
require './test/region/christian'
|
49
49
|
require './test/region/japanese'
|
50
50
|
require './test/region/chinese'
|
51
51
|
require './test/region/vietnamese'
|
@@ -57,4 +57,5 @@ require './test/region/mayan'
|
|
57
57
|
require './test/region/jewish'
|
58
58
|
require './test/region/french'
|
59
59
|
require './test/region/coptic'
|
60
|
+
require './test/region/yerm'
|
60
61
|
require './test/region/geologicalage'
|
data/test/test/basictypes.rb
CHANGED
@@ -110,6 +110,22 @@ module Test
|
|
110
110
|
date = When.when?(sample[0], {:abbr=>[1985,15,5]})
|
111
111
|
assert_equal(sample[1], [date.precision, date.to_s])
|
112
112
|
end
|
113
|
+
|
114
|
+
result = []
|
115
|
+
(1900...1928).each do |year|
|
116
|
+
date = ::Date.new(year, 1, 1) - 7
|
117
|
+
14.times do
|
118
|
+
gdate = When.TemporalPosition(date.year, date.month, date.day)
|
119
|
+
strdate = date.strftime('%G-W%V-%u')
|
120
|
+
strgdate = gdate.strftime('%G-W%V-%u')
|
121
|
+
w1date = When::WeekDate ^ date
|
122
|
+
w2date = When.when?(strdate, {:frame=>When::WeekDate})
|
123
|
+
strw1date = w1date.strftime
|
124
|
+
strw2date = w2date.strftime
|
125
|
+
result << [[strdate, strgdate, strw1date, strw2date].uniq.size, date.jd == w1date.to_i, date.jd == w2date.to_i]
|
126
|
+
end
|
127
|
+
end
|
128
|
+
assert_equal([[1, true, true]], result.uniq)
|
113
129
|
end
|
114
130
|
|
115
131
|
def test__x0301_5_2_4
|
@@ -123,7 +139,7 @@ module Test
|
|
123
139
|
end
|
124
140
|
|
125
141
|
def test__x0301_5_3_1
|
126
|
-
When::TM::Clock.local_time = When
|
142
|
+
When::TM::Clock.local_time = When::UTC
|
127
143
|
|
128
144
|
[ # 5.3.1 地方時の時刻
|
129
145
|
["T232050", [ 3, "T23:20:50" ]], # 1 完全表記 基本形式
|
@@ -352,7 +368,7 @@ ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
|
|
352
368
|
NS
|
353
369
|
=jwiki:, en=ewiki:
|
354
370
|
LOCALE
|
355
|
-
Term3 = When.Resource('_co:
|
371
|
+
Term3 = When.Resource('_co:Common::Week::Monday::Monday')
|
356
372
|
|
357
373
|
def test__code_space
|
358
374
|
assert_equal('zip', Term1.codeSpace)
|
data/test/test/calendarnote.rb
CHANGED
data/test/test/calendartypes.rb
CHANGED
data/test/test/coordinates.rb
CHANGED
@@ -150,16 +150,16 @@ module Test::Coordinates
|
|
150
150
|
sample =[
|
151
151
|
["明治", "http://ja.wikipedia.org/wiki/%E6%98%8E%E6%B2%BB"],
|
152
152
|
["Meiji", "http://en.wikipedia.org/wiki/Meiji_period"],
|
153
|
-
["M", ""],
|
153
|
+
["M", "http://ja.wikipedia.org/wiki/%E6%98%8E%E6%B2%BB"],
|
154
154
|
["大正", "http://ja.wikipedia.org/wiki/%E5%A4%A7%E6%AD%A3"],
|
155
155
|
["Taishō", "http://en.wikipedia.org/wiki/Taish%C5%8D_period"],
|
156
|
-
["T", ""],
|
156
|
+
["T", "http://ja.wikipedia.org/wiki/%E5%A4%A7%E6%AD%A3"],
|
157
157
|
["昭和", "http://ja.wikipedia.org/wiki/%E6%98%AD%E5%92%8C"],
|
158
158
|
["Shōwa", "http://en.wikipedia.org/wiki/Sh%C5%8Dwa_period"],
|
159
|
-
["S", ""],
|
159
|
+
["S", "http://ja.wikipedia.org/wiki/%E6%98%AD%E5%92%8C"],
|
160
160
|
["平成", "http://ja.wikipedia.org/wiki/%E5%B9%B3%E6%88%90"],
|
161
161
|
["Heisei", "http://en.wikipedia.org/wiki/Heisei_period"],
|
162
|
-
["H", ""]
|
162
|
+
["H", "http://ja.wikipedia.org/wiki/%E5%B9%B3%E6%88%90"]
|
163
163
|
]
|
164
164
|
['明治', '大正', '昭和', '平成'].each do |nengo|
|
165
165
|
era = When::era(nengo)
|
@@ -194,7 +194,7 @@ module Test::Coordinates
|
|
194
194
|
# 空間位置
|
195
195
|
#
|
196
196
|
class Spatial < Test::Unit::TestCase
|
197
|
-
|
197
|
+
Indian = [
|
198
198
|
["CentralIndia",
|
199
199
|
"インド中部",
|
200
200
|
"http://en.wikipedia.org/wiki/CentralIndia",
|
@@ -365,8 +365,8 @@ module Test::Coordinates
|
|
365
365
|
end
|
366
366
|
|
367
367
|
def test__spatial_m17n
|
368
|
-
['_co:
|
369
|
-
samples =
|
368
|
+
['_co:Indian', 'examples/Spatial.m17n'].each do |iri|
|
369
|
+
samples = Indian.dup
|
370
370
|
assert_equal(samples.size, When.Resource(iri).child.size)
|
371
371
|
When.Resource(iri).child.each do |obj|
|
372
372
|
name = obj.label
|
File without changes
|
File without changes
|
File without changes
|
data/test/test/parts.rb
CHANGED
@@ -75,11 +75,6 @@ module Test::Parts
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
-
class SnapShot < Test::Unit::TestCase
|
79
|
-
def test_nothing
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
78
|
class Locale < Test::Unit::TestCase
|
84
79
|
Term1 = When.m17n('Tokyo', 'zip')
|
85
80
|
Term2 = When.m17n(<<LABEL, <<NS, <<LOCALE)
|
@@ -92,7 +87,7 @@ ISO, jwiki=http://ja.wikipedia.org/wiki/, ewiki=http://en.wikipedia.org/wiki/
|
|
92
87
|
NS
|
93
88
|
=jwiki:, en=ewiki:
|
94
89
|
LOCALE
|
95
|
-
Term3 = When.Resource('_co:
|
90
|
+
Term3 = When.Resource('_co:Common::Week::Monday::Monday')
|
96
91
|
|
97
92
|
def test__locale
|
98
93
|
assert_equal("Tokyo", Term1.translate('en_US'))
|
@@ -128,16 +123,16 @@ LOCALE
|
|
128
123
|
assert_equal(["閏長月", String], [date.name('Month').to_s, date.name('Month').to_s.class])
|
129
124
|
assert_equal("http://ja.wikipedia.org/wiki/%E9%96%8F", date.name('Month').reference('ja'))
|
130
125
|
assert_equal("閏長月", date.name('Month').translate('日本語'))
|
131
|
-
assert_equal("Intercalary
|
126
|
+
assert_equal("Intercalary Month 9", date.name('Month').translate('en_US'))
|
132
127
|
end
|
133
128
|
|
134
129
|
def test__split
|
135
|
-
assert_equal(['' ], When::
|
136
|
-
assert_equal(['3.14' ], When::
|
137
|
-
assert_equal(['3.14', ''], When::
|
138
|
-
assert_equal(['', '3.14'], When::
|
139
|
-
assert_equal(['3.14', ' "3.14,159"'], When::
|
140
|
-
assert_equal(['3.14', ' "3.14\\"159"'], When::
|
130
|
+
assert_equal(['' ], When::Locale._split(''))
|
131
|
+
assert_equal(['3.14' ], When::Locale._split('3.14'))
|
132
|
+
assert_equal(['3.14', ''], When::Locale._split('3.14,'))
|
133
|
+
assert_equal(['', '3.14'], When::Locale._split(',3.14'))
|
134
|
+
assert_equal(['3.14', ' "3.14,159"'], When::Locale._split('3.14, "3.14,159"'))
|
135
|
+
assert_equal(['3.14', ' "3.14\\"159"'], When::Locale._split('3.14, "3.14\\"159"'))
|
141
136
|
end
|
142
137
|
end
|
143
138
|
|
@@ -0,0 +1,245 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2012-2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
module Test
|
10
|
+
|
11
|
+
class ChristianVariation < Test::Unit::TestCase
|
12
|
+
|
13
|
+
def verify_built_in_date(calendar, start, length)
|
14
|
+
date = Date.new(start, 1, 1)
|
15
|
+
diff = {}
|
16
|
+
while date.year < start + length
|
17
|
+
cal_date = [date.year, date.month, date.day]
|
18
|
+
cal_jdn = date.jd
|
19
|
+
fdate = When.TemporalPosition(date.year, date.month, date.day, {:frame=>calendar})
|
20
|
+
rdate = calendar ^ cal_jdn
|
21
|
+
[fdate, rdate].each do |tdate|
|
22
|
+
[[cal_date, tdate.cal_date], [cal_jdn, tdate.to_i]].each do |verify|
|
23
|
+
unless verify.uniq.size == 1
|
24
|
+
diff[cal_date] ||= []
|
25
|
+
diff[cal_date] << verify[1]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
date = yield(date)
|
30
|
+
end
|
31
|
+
diff
|
32
|
+
end
|
33
|
+
|
34
|
+
def test__verify_to_built_in_date
|
35
|
+
|
36
|
+
sample = [{}, {}, {}, {}, {}, {[2900, 1, 1]=>[2780263, [2900, 1, 2]]}]
|
37
|
+
|
38
|
+
%w(Gregorian RevisedJulian).each do |name|
|
39
|
+
calendar = When.Calendar(name)
|
40
|
+
assert_equal(sample.shift, verify_built_in_date(calendar, 1900, 8) {|date| date + 1})
|
41
|
+
assert_equal(sample.shift, verify_built_in_date(calendar, 2000,400) {|date| date >> 1})
|
42
|
+
assert_equal(sample.shift, verify_built_in_date(calendar, 2400,900) {|date| date >> 1200})
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def test__gregorian_date
|
47
|
+
|
48
|
+
calendar = When.Calendar('Gregorian')
|
49
|
+
|
50
|
+
dates = [When.when?('1900-02-28', {:frame=>calendar})]
|
51
|
+
9.times do
|
52
|
+
dates << dates.last + When::P1Y * 100
|
53
|
+
end
|
54
|
+
assert_equal([2415079, 2451603, 2488128, 2524652, 2561176,
|
55
|
+
2597700, 2634225, 2670749, 2707273, 2743797], dates.map {|date| date.to_i})
|
56
|
+
assert_equal(%w(1900-02-28 2000-02-28 2100-02-28 2200-02-28 2300-02-28
|
57
|
+
2400-02-28 2500-02-28 2600-02-28 2700-02-28 2800-02-28), dates.map {|date| (calendar ^ date.to_i).to_s})
|
58
|
+
assert_equal([28, 29, 28, 28, 28, 29, 28, 28, 28, 29], dates.map {|date| date.length(When::MONTH)})
|
59
|
+
|
60
|
+
dates = [When.when?('1900-03-01', {:frame=>calendar})]
|
61
|
+
9.times do
|
62
|
+
dates << dates.last + When::P1Y * 100
|
63
|
+
end
|
64
|
+
assert_equal([2415080, 2451605, 2488129, 2524653, 2561177,
|
65
|
+
2597702, 2634226, 2670750, 2707274, 2743799], dates.map {|date| date.to_i})
|
66
|
+
assert_equal(%w(1900-03-01 2000-03-01 2100-03-01 2200-03-01 2300-03-01
|
67
|
+
2400-03-01 2500-03-01 2600-03-01 2700-03-01 2800-03-01), dates.map {|date| (calendar ^ date.to_i).to_s})
|
68
|
+
assert_equal([1], dates.map {|date| calendar._century_from_jdn(date.to_i) - calendar._century_from_jdn(date.to_i-1)}.uniq)
|
69
|
+
end
|
70
|
+
|
71
|
+
def test__revised_julian_date
|
72
|
+
|
73
|
+
calendar = When.Calendar('RevisedJulian')
|
74
|
+
|
75
|
+
dates = [When.when?('1900-02-28', {:frame=>calendar})]
|
76
|
+
9.times do
|
77
|
+
dates << dates.last + When::P1Y * 100
|
78
|
+
end
|
79
|
+
assert_equal([2415079, 2451603, 2488128, 2524652, 2561176,
|
80
|
+
2597700, 2634225, 2670749, 2707273, 2743797], dates.map {|date| date.to_i})
|
81
|
+
assert_equal(%w(1900-02-28 2000-02-28 2100-02-28 2200-02-28 2300-02-28
|
82
|
+
2400-02-28 2500-02-28 2600-02-28 2700-02-28 2800-02-28), dates.map {|date| (calendar ^ date.to_i).to_s})
|
83
|
+
assert_equal([28, 29, 28, 28, 28, 29, 28, 28, 28, 28], dates.map {|date| date.length(When::MONTH)})
|
84
|
+
|
85
|
+
dates = [When.when?('1900-03-01', {:frame=>calendar})]
|
86
|
+
9.times do
|
87
|
+
dates << dates.last + When::P1Y * 100
|
88
|
+
end
|
89
|
+
assert_equal([2415080, 2451605, 2488129, 2524653, 2561177,
|
90
|
+
2597702, 2634226, 2670750, 2707274, 2743798], dates.map {|date| date.to_i})
|
91
|
+
assert_equal(%w(1900-03-01 2000-03-01 2100-03-01 2200-03-01 2300-03-01
|
92
|
+
2400-03-01 2500-03-01 2600-03-01 2700-03-01 2800-03-01), dates.map {|date| (calendar ^ date.to_i).to_s})
|
93
|
+
assert_equal([1], dates.map {|date| calendar._century_from_jdn(date.to_i) - calendar._century_from_jdn(date.to_i-1)}.uniq)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
class Swedish < Test::Unit::TestCase
|
98
|
+
def test__swedish_date
|
99
|
+
|
100
|
+
dates = []
|
101
|
+
jdns = []
|
102
|
+
[2342042, 2346424].each do |base|
|
103
|
+
(-3..+3).each do |diff|
|
104
|
+
jdn = base + diff
|
105
|
+
jdate = When::Julian ^ jdn
|
106
|
+
s1date = When::Swedish ^ jdn
|
107
|
+
s2date = When.tm_pos(*(s1date.cal_date + [{:frame=>When::Swedish}]))
|
108
|
+
dates << s1date.to_s
|
109
|
+
jdns << [s1date.to_s == s2date.to_s, s1date.to_i == jdn, s2date.to_i == jdn].uniq
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
assert_equal(%w(1700-02-26 1700-02-27 1700-02-28 1700-03-01 1700-03-02 1700-03-03 1700-03-04
|
114
|
+
1712-02-26 1712-02-27 1712-02-28 1712-02-29 1712-02-30 1712-03-01 1712-03-02), dates)
|
115
|
+
assert_equal([[true]], jdns.uniq)
|
116
|
+
end
|
117
|
+
|
118
|
+
def test__swedish_easter
|
119
|
+
|
120
|
+
dates = []
|
121
|
+
civil = When.Calendar('Civil?old=Swedish&reform_date=1753-03-01')
|
122
|
+
((1700..1711).to_a + (1740..1752).to_a+[1802,1805,1818]).each do |year|
|
123
|
+
dates << When.tm_pos(year, {:frame=>civil}).easter.to_s
|
124
|
+
end
|
125
|
+
assert_equal(%w(1700-04-01 1701-04-21 1702-04-06 1703-03-29 1704-04-17 1705-04-02 1706-03-25
|
126
|
+
1707-04-14 1708-04-05 1709-04-18 1710-04-10 1711-03-26 1740-04-06 1741-03-22
|
127
|
+
1742-03-14 1743-04-03 1744-03-18 1745-04-07 1746-03-30 1747-03-22 1748-04-03
|
128
|
+
1749-03-26 1750-03-18 1751-03-31 1752-03-22 1802-04-25 1805-04-21 1818-03-29), dates)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
class Civil < Test::Unit::TestCase
|
133
|
+
def test__border
|
134
|
+
frame = When.Calendar('Civil?reform=1752-9-14&border=0-3-25(1753)0-1-1')
|
135
|
+
assert_equal("1641=03-24", (frame ^ When.when?('1642-4-3') ).to_s)
|
136
|
+
assert_equal("1642-03-25", (frame ^ When.when?('1642-4-4') ).to_s)
|
137
|
+
assert_equal("1752-12-31", (frame ^ When.when?('1752-12-31')).to_s)
|
138
|
+
assert_equal("1753-01-01", (frame ^ When.when?('1753-1-1') ).to_s)
|
139
|
+
assert_equal("1753-03-24", (frame ^ When.when?('1753-3-24') ).to_s)
|
140
|
+
assert_equal("1753-03-25", (frame ^ When.when?('1753-3-25') ).to_s)
|
141
|
+
end
|
142
|
+
|
143
|
+
def test__reform_inc
|
144
|
+
sample = %w(
|
145
|
+
1582-09-30 1582-10-01 1582-10-02 1582-10-03 1582-10-04 1582-10-15 1582-10-16 1582-10-17
|
146
|
+
1582-10-18 1582-10-19 1582-10-20 1582-10-21 1582-10-22 1582-10-23 1582-10-24 1582-10-25
|
147
|
+
1582-10-26 1582-10-27 1582-10-28 1582-10-29 1582-10-30 1582-10-31 1582-11-01 1582-11-02
|
148
|
+
1582-11-03)
|
149
|
+
date = When.when?('1582-9-30', :frame=>'Civil?reform=1582-10-15')
|
150
|
+
25.times do
|
151
|
+
assert_equal(sample.shift, date.to_s)
|
152
|
+
date = date + When::P1D
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def test__reform_dec
|
157
|
+
sample = %w(
|
158
|
+
1582-11-01 1582-10-31 1582-10-30 1582-10-29 1582-10-28 1582-10-27 1582-10-26 1582-10-25
|
159
|
+
1582-10-24 1582-10-23 1582-10-22 1582-10-21 1582-10-20 1582-10-19 1582-10-18 1582-10-17
|
160
|
+
1582-10-16 1582-10-15 1582-10-04 1582-10-03 1582-10-02 1582-10-01 1582-09-30 1582-09-29
|
161
|
+
1582-09-28)
|
162
|
+
date = When.when?('1582-11-01', :frame=>'Civil?reform=1582-10-15')
|
163
|
+
25.times do
|
164
|
+
assert_equal(sample.shift, date.to_s)
|
165
|
+
date = date - When::P1D
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
169
|
+
def test__reform_year
|
170
|
+
date = When.when?('1752^^Civil?reform=1752-9-14&border=(1000)0-3-25(1753)0-1-1')
|
171
|
+
assert_equal(
|
172
|
+
[[1752,
|
173
|
+
[[3,
|
174
|
+
["*", 1, 2, 3, 4, 5, 6, 7],
|
175
|
+
["*", 8, 9, 10, 11, 12, 13, 14],
|
176
|
+
["*", 15, 16, 17, 18, 19, 20, 21],
|
177
|
+
["*", 22, 23, 24, 25, 26, 27, 28],
|
178
|
+
["*", 29, 30, 31, "*", "*", "*", "*"]]],
|
179
|
+
[[4,
|
180
|
+
["*", "*", "*", "*", 1, 2, 3, 4],
|
181
|
+
["*", 5, 6, 7, 8, 9, 10, 11],
|
182
|
+
["*", 12, 13, 14, 15, 16, 17, 18],
|
183
|
+
["*", 19, 20, 21, 22, 23, 24, 25],
|
184
|
+
["*", 26, 27, 28, 29, 30, "*", "*"]]],
|
185
|
+
[[5,
|
186
|
+
["*", "*", "*", "*", "*", "*", 1, 2],
|
187
|
+
["*", 3, 4, 5, 6, 7, 8, 9],
|
188
|
+
["*", 10, 11, 12, 13, 14, 15, 16],
|
189
|
+
["*", 17, 18, 19, 20, 21, 22, 23],
|
190
|
+
["*", 24, 25, 26, 27, 28, 29, 30],
|
191
|
+
["*", 31, "*", "*", "*", "*", "*", "*"]]],
|
192
|
+
[[6,
|
193
|
+
["*", "*", 1, 2, 3, 4, 5, 6],
|
194
|
+
["*", 7, 8, 9, 10, 11, 12, 13],
|
195
|
+
["*", 14, 15, 16, 17, 18, 19, 20],
|
196
|
+
["*", 21, 22, 23, 24, 25, 26, 27],
|
197
|
+
["*", 28, 29, 30, "*", "*", "*", "*"]]],
|
198
|
+
[[7,
|
199
|
+
["*", "*", "*", "*", 1, 2, 3, 4],
|
200
|
+
["*", 5, 6, 7, 8, 9, 10, 11],
|
201
|
+
["*", 12, 13, 14, 15, 16, 17, 18],
|
202
|
+
["*", 19, 20, 21, 22, 23, 24, 25],
|
203
|
+
["*", 26, 27, 28, 29, 30, 31, "*"]]],
|
204
|
+
[[8,
|
205
|
+
["*", "*", "*", "*", "*", "*", "*", 1],
|
206
|
+
["*", 2, 3, 4, 5, 6, 7, 8],
|
207
|
+
["*", 9, 10, 11, 12, 13, 14, 15],
|
208
|
+
["*", 16, 17, 18, 19, 20, 21, 22],
|
209
|
+
["*", 23, 24, 25, 26, 27, 28, 29],
|
210
|
+
["*", 30, 31, "*", "*", "*", "*", "*"]]],
|
211
|
+
[[9,
|
212
|
+
["*", "*", "*", 1, 2, 14, 15, 16],
|
213
|
+
["*", 17, 18, 19, 20, 21, 22, 23],
|
214
|
+
["*", 24, 25, 26, 27, 28, 29, 30]]],
|
215
|
+
[[10,
|
216
|
+
["*", 1, 2, 3, 4, 5, 6, 7],
|
217
|
+
["*", 8, 9, 10, 11, 12, 13, 14],
|
218
|
+
["*", 15, 16, 17, 18, 19, 20, 21],
|
219
|
+
["*", 22, 23, 24, 25, 26, 27, 28],
|
220
|
+
["*", 29, 30, 31, "*", "*", "*", "*"]]],
|
221
|
+
[[11,
|
222
|
+
["*", "*", "*", "*", 1, 2, 3, 4],
|
223
|
+
["*", 5, 6, 7, 8, 9, 10, 11],
|
224
|
+
["*", 12, 13, 14, 15, 16, 17, 18],
|
225
|
+
["*", 19, 20, 21, 22, 23, 24, 25],
|
226
|
+
["*", 26, 27, 28, 29, 30, "*", "*"]]],
|
227
|
+
[[12,
|
228
|
+
["*", "*", "*", "*", "*", "*", 1, 2],
|
229
|
+
["*", 3, 4, 5, 6, 7, 8, 9],
|
230
|
+
["*", 10, 11, 12, 13, 14, 15, 16],
|
231
|
+
["*", 17, 18, 19, 20, 21, 22, 23],
|
232
|
+
["*", 24, 25, 26, 27, 28, 29, 30],
|
233
|
+
["*", 31, "*", "*", "*", "*", "*", "*"]]]]],
|
234
|
+
date.year_included('Sunday') {|d,b|
|
235
|
+
case b
|
236
|
+
when When::YEAR ; d[When::YEAR]
|
237
|
+
when When::MONTH ; d[When::MONTH]
|
238
|
+
when When::DAY ; d[When::DAY]
|
239
|
+
else ; '*'
|
240
|
+
end
|
241
|
+
}
|
242
|
+
)
|
243
|
+
end
|
244
|
+
end
|
245
|
+
end
|