when_exe 0.3.4 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/locales.rb +2 -2
- data/bin/when.rb +2 -2
- data/lib/when_exe.rb +161 -55
- data/lib/when_exe/basictypes.rb +34 -26
- data/lib/when_exe/calendarnote.rb +654 -0
- data/lib/when_exe/calendartypes.rb +49 -474
- data/lib/when_exe/coordinates.rb +141 -34
- data/lib/when_exe/core/compatibility.rb +22 -2
- data/lib/when_exe/core/extension.rb +47 -3
- data/lib/when_exe/ephemeris.rb +82 -109
- data/lib/when_exe/googlecalendar.rb +1 -1
- data/lib/when_exe/icalendar.rb +26 -14
- data/lib/when_exe/inspect.rb +82 -68
- data/lib/when_exe/locales/af.rb +1 -1
- data/lib/when_exe/locales/ar.rb +1 -1
- data/lib/when_exe/locales/az.rb +1 -1
- data/lib/when_exe/locales/bg.rb +1 -1
- data/lib/when_exe/locales/bn.rb +1 -1
- data/lib/when_exe/locales/bs.rb +1 -1
- data/lib/when_exe/locales/ca.rb +1 -1
- data/lib/when_exe/locales/cs.rb +1 -1
- data/lib/when_exe/locales/cy.rb +1 -1
- data/lib/when_exe/locales/da.rb +1 -1
- data/lib/when_exe/locales/de.rb +1 -1
- data/lib/when_exe/locales/de_AT.rb +1 -1
- data/lib/when_exe/locales/de_CH.rb +1 -1
- data/lib/when_exe/locales/el.rb +1 -1
- data/lib/when_exe/locales/en.rb +1 -1
- data/lib/when_exe/locales/en_AU.rb +1 -1
- data/lib/when_exe/locales/en_CA.rb +1 -1
- data/lib/when_exe/locales/en_GB.rb +1 -1
- data/lib/when_exe/locales/en_IE.rb +1 -1
- data/lib/when_exe/locales/en_IN.rb +1 -1
- data/lib/when_exe/locales/en_NZ.rb +1 -1
- data/lib/when_exe/locales/en_US.rb +1 -1
- data/lib/when_exe/locales/eo.rb +1 -1
- data/lib/when_exe/locales/es.rb +1 -1
- data/lib/when_exe/locales/es_419.rb +1 -1
- data/lib/when_exe/locales/es_AR.rb +1 -1
- data/lib/when_exe/locales/es_CL.rb +1 -1
- data/lib/when_exe/locales/es_CO.rb +1 -1
- data/lib/when_exe/locales/es_CR.rb +1 -1
- data/lib/when_exe/locales/es_EC.rb +1 -1
- data/lib/when_exe/locales/es_MX.rb +1 -1
- data/lib/when_exe/locales/es_PA.rb +1 -1
- data/lib/when_exe/locales/es_PE.rb +1 -1
- data/lib/when_exe/locales/es_VE.rb +1 -1
- data/lib/when_exe/locales/et.rb +1 -1
- data/lib/when_exe/locales/eu.rb +1 -1
- data/lib/when_exe/locales/fa.rb +1 -1
- data/lib/when_exe/locales/fi.rb +1 -1
- data/lib/when_exe/locales/fr.rb +1 -1
- data/lib/when_exe/locales/fr_CA.rb +1 -1
- data/lib/when_exe/locales/fr_CH.rb +1 -1
- data/lib/when_exe/locales/gl.rb +1 -1
- data/lib/when_exe/locales/he.rb +1 -1
- data/lib/when_exe/locales/hi.rb +1 -1
- data/lib/when_exe/locales/hi_IN.rb +1 -1
- data/lib/when_exe/locales/hr.rb +1 -1
- data/lib/when_exe/locales/hu.rb +1 -1
- data/lib/when_exe/locales/id.rb +1 -1
- data/lib/when_exe/locales/is.rb +1 -1
- data/lib/when_exe/locales/it.rb +1 -1
- data/lib/when_exe/locales/it_CH.rb +1 -1
- data/lib/when_exe/locales/ja.rb +1 -1
- data/lib/when_exe/locales/kn.rb +1 -1
- data/lib/when_exe/locales/ko.rb +1 -1
- data/lib/when_exe/locales/lo.rb +1 -1
- data/lib/when_exe/locales/locales.rb +1 -1
- data/lib/when_exe/locales/lt.rb +1 -1
- data/lib/when_exe/locales/lv.rb +1 -1
- data/lib/when_exe/locales/mk.rb +1 -1
- data/lib/when_exe/locales/mn.rb +1 -1
- data/lib/when_exe/locales/ms.rb +1 -1
- data/lib/when_exe/locales/nb.rb +1 -1
- data/lib/when_exe/locales/ne.rb +1 -1
- data/lib/when_exe/locales/nl.rb +1 -1
- data/lib/when_exe/locales/nn.rb +1 -1
- data/lib/when_exe/locales/or.rb +1 -1
- data/lib/when_exe/locales/pl.rb +1 -1
- data/lib/when_exe/locales/pt.rb +1 -1
- data/lib/when_exe/locales/pt_BR.rb +1 -1
- data/lib/when_exe/locales/rm.rb +1 -1
- data/lib/when_exe/locales/ro.rb +1 -1
- data/lib/when_exe/locales/ru.rb +1 -1
- data/lib/when_exe/locales/sk.rb +1 -1
- data/lib/when_exe/locales/sl.rb +1 -1
- data/lib/when_exe/locales/sr.rb +1 -1
- data/lib/when_exe/locales/sv.rb +1 -1
- data/lib/when_exe/locales/sw.rb +1 -1
- data/lib/when_exe/locales/th.rb +1 -1
- data/lib/when_exe/locales/tl.rb +1 -1
- data/lib/when_exe/locales/tr.rb +1 -1
- data/lib/when_exe/locales/uk.rb +1 -1
- data/lib/when_exe/locales/ur.rb +1 -1
- data/lib/when_exe/locales/uz.rb +1 -1
- data/lib/when_exe/locales/vi.rb +1 -1
- data/lib/when_exe/locales/wo.rb +1 -1
- data/lib/when_exe/locales/zh_CN.rb +1 -1
- data/lib/when_exe/locales/zh_HK.rb +1 -1
- data/lib/when_exe/locales/zh_TW.rb +1 -1
- data/lib/when_exe/mini_application.rb +6 -2
- data/lib/when_exe/parts/enumerator.rb +13 -8
- data/lib/when_exe/parts/geometric_complex.rb +3 -5
- data/lib/when_exe/parts/locale.rb +185 -28
- data/lib/when_exe/parts/method_cash.rb +20 -10
- data/lib/when_exe/parts/resource.rb +154 -76
- data/lib/when_exe/parts/timezone.rb +11 -6
- data/lib/when_exe/region/bahai.rb +2 -2
- data/lib/when_exe/region/balinese.rb +296 -296
- data/lib/when_exe/region/chinese.rb +564 -564
- data/lib/when_exe/region/chinese_calendar.rb +5 -1
- data/lib/when_exe/region/chinese_epoch.rb +47 -102
- data/lib/when_exe/region/chinese_twin.rb +798 -0
- data/lib/when_exe/region/christian.rb +314 -338
- data/lib/when_exe/region/coptic.rb +88 -0
- data/lib/when_exe/region/ephemeric_notes.rb +322 -307
- data/lib/when_exe/region/french.rb +2 -2
- data/lib/when_exe/region/indian.rb +361 -272
- data/lib/when_exe/region/iranian.rb +2 -2
- data/lib/when_exe/region/islamic.rb +3 -3
- data/lib/when_exe/region/japanese.rb +1 -1
- data/lib/when_exe/region/japanese_notes.rb +165 -103
- data/lib/when_exe/region/japanese_residues.rb +56 -55
- data/lib/when_exe/region/japanese_twin.rb +228 -0
- data/lib/when_exe/region/javanese.rb +2 -2
- data/lib/when_exe/region/jewish.rb +2 -2
- data/lib/when_exe/region/korean.rb +4 -4
- data/lib/when_exe/region/m17n.rb +19 -19
- data/lib/when_exe/region/martian.rb +21 -9
- data/lib/when_exe/region/mayan.rb +19 -11
- data/lib/when_exe/region/moon.rb +7 -7
- data/lib/when_exe/region/nihon_shoki.rb +7 -7
- data/lib/when_exe/region/roman.rb +100 -100
- data/lib/when_exe/region/shire.rb +130 -147
- data/lib/when_exe/region/thai.rb +2 -2
- data/lib/when_exe/region/tibetan.rb +2 -2
- data/lib/when_exe/region/vietnamese.rb +383 -114
- data/lib/when_exe/region/world.rb +112 -129
- data/lib/when_exe/timestandard.rb +12 -1
- data/lib/when_exe/tmposition.rb +28 -14
- data/lib/when_exe/tmreference.rb +96 -93
- data/lib/when_exe/version.rb +1 -1
- data/test/examples/Terms.m17n +2 -2
- data/test/examples/sample.json +16 -0
- data/test/examples/sample.xml +1 -1
- data/test/test.rb +4 -0
- data/test/test/basictypes.rb +2 -2
- data/test/test/calendarnote.rb +69 -0
- data/test/test/calendartypes.rb +41 -1
- data/test/test/coordinates.rb +12 -1
- data/test/test/ephemeris.rb +13 -66
- data/test/test/icalendar.rb +3 -3
- data/test/test/inspect.rb +1 -1
- data/test/test/parts.rb +7 -4
- data/test/test/region/chinese.rb +45 -0
- data/test/test/region/coptic.rb +27 -0
- data/test/test/region/indian.rb +1 -1
- data/test/test/region/japanese.rb +4 -4
- data/test/test/region/jewish.rb +1 -1
- data/test/test/region/m17n.rb +7 -5
- data/test/test/region/residue.rb +2 -2
- data/test/test/region/vietnamese.rb +102 -0
- data/test/test/timestandard.rb +81 -0
- data/test/test/tmposition.rb +1 -1
- data/test/test/tmreference.rb +1 -1
- data/when_exe.gemspec +2 -2
- metadata +16 -7
@@ -29,7 +29,7 @@ module When::Parts
|
|
29
29
|
|
30
30
|
# 夏時間帯と標準時間帯の時間差
|
31
31
|
# @return [When::TM:IntervalLength]
|
32
|
-
attr_reader :
|
32
|
+
attr_reader :tz_difference
|
33
33
|
|
34
34
|
# When::TM::TemporalPosition の時間帯を変更して複製する
|
35
35
|
#
|
@@ -39,6 +39,7 @@ module When::Parts
|
|
39
39
|
# @return [When::TM::DateAndTime, When::TM::JulianDate]
|
40
40
|
#
|
41
41
|
def ^(date, options={})
|
42
|
+
date = When::TM::Position.any_other(date, options)
|
42
43
|
options = date._attr.merge({:clock=>self}).merge(options)
|
43
44
|
return When::TM::JulianDate.dynamical_time(date.dynamical_time, options) unless date.frame.kind_of?(When::TM::Calendar)
|
44
45
|
date.frame.jul_trans(When::TM::JulianDate.dynamical_time(date.dynamical_time), options)
|
@@ -61,6 +62,8 @@ module When::Parts
|
|
61
62
|
ref = _get(label)
|
62
63
|
return ref if ref
|
63
64
|
self[label] = self.new(label)
|
65
|
+
rescue
|
66
|
+
nil
|
64
67
|
end
|
65
68
|
alias :get :[]
|
66
69
|
|
@@ -123,7 +126,9 @@ module When::Parts
|
|
123
126
|
def location
|
124
127
|
return @location if @location
|
125
128
|
tzinfo = self.class.tz_info[label]
|
126
|
-
|
129
|
+
longitude = When::Coordinates.to_dms(tzinfo.longitude, 'EW')
|
130
|
+
latitude = When::Coordinates.to_dms(tzinfo.latitude, 'NS')
|
131
|
+
@location = When.Resource("_l:long=#{longitude}&lat=#{latitude}&label=#{label}")
|
127
132
|
end
|
128
133
|
|
129
134
|
# 時分秒のインデクス
|
@@ -162,11 +167,11 @@ module When::Parts
|
|
162
167
|
dst, std = _offsets(Time.now.to_i)
|
163
168
|
@standard = When::TM::Clock.new({:zone=>std, :tz_prop=>self})
|
164
169
|
if std == dst
|
165
|
-
@daylight
|
166
|
-
@
|
170
|
+
@daylight = @standard
|
171
|
+
@tz_difference = 0
|
167
172
|
else
|
168
|
-
@daylight
|
169
|
-
@
|
173
|
+
@daylight = When::TM::Clock.new({:zone=>dst, :tz_prop=>self})
|
174
|
+
@tz_difference = @standard.universal_time - @daylight.universal_time
|
170
175
|
end
|
171
176
|
@indices = When::Coordinates::DefaultTimeIndices
|
172
177
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2013 Takashi SUGA
|
3
|
+
Copyright (C) 2013-2014 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
@@ -11,7 +11,7 @@ module When
|
|
11
11
|
BahaiTerms = [self, [
|
12
12
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/, ar=http://ar.wikipedia.org/wiki/]",
|
13
13
|
"locale:[=en:, ar=ar:, alias=en:]",
|
14
|
-
"names:[BahaiTerms]",
|
14
|
+
"names:[BahaiTerms=]",
|
15
15
|
"[Bahai=en:Bah%C3%A1%27%C3%AD_calendar, ja:バハーイー暦=ja:%%<バハーイー教>]",
|
16
16
|
|
17
17
|
# %0s は“閏”の表記を抑制する指定となっている
|
@@ -11,7 +11,7 @@ module When
|
|
11
11
|
BalineseTerms = [self, [
|
12
12
|
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
13
13
|
"locale:[=en:, ja=ja:, alias]",
|
14
|
-
"names:[BalineseTerms]",
|
14
|
+
"names:[BalineseTerms=]",
|
15
15
|
"[BalineseLuniSolar=, バリ・サカ暦=]",
|
16
16
|
"[Tenganan=, テンガナン暦=]",
|
17
17
|
|
@@ -291,334 +291,334 @@ module When
|
|
291
291
|
356 => {'Length'=>[30] * 6 + [28] * 2 + [30] * 4 }
|
292
292
|
}
|
293
293
|
}]
|
294
|
+
end
|
294
295
|
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
296
|
+
#
|
297
|
+
# バリ暦の暦注
|
298
|
+
#
|
299
|
+
class CalendarNote::BalineseNote < CalendarNote
|
299
300
|
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
301
|
+
NoteObjects = [When::BasicTypes::M17n, [
|
302
|
+
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
303
|
+
"locale:[=en:, ja=ja:, alias]",
|
304
|
+
"names:[Balinese]",
|
304
305
|
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
306
|
+
# 年の暦注 ----------------------------
|
307
|
+
[When::BasicTypes::M17n,
|
308
|
+
"names:[year]"
|
309
|
+
],
|
309
310
|
|
310
|
-
|
311
|
+
# 月の暦注 ----------------------------
|
312
|
+
[When::BasicTypes::M17n,
|
313
|
+
"names:[month]",
|
311
314
|
[When::BasicTypes::M17n,
|
312
|
-
"names:[
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
315
|
+
"names:[Month]"
|
316
|
+
]
|
317
|
+
],
|
318
|
+
|
319
|
+
# 日の暦注 ----------------------------
|
320
|
+
[When::BasicTypes::M17n,
|
321
|
+
"names:[day]",
|
317
322
|
|
318
|
-
# 日の暦注 ----------------------------
|
319
323
|
[When::BasicTypes::M17n,
|
320
|
-
"names:[
|
324
|
+
"names:[Hari=, 日名=]",
|
321
325
|
|
322
326
|
[When::BasicTypes::M17n,
|
323
|
-
"names:[
|
324
|
-
|
325
|
-
[
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
"[Mayang= ]",
|
340
|
-
"[Gajah= ]",
|
341
|
-
"[Singa= ]"
|
342
|
-
],
|
343
|
-
|
344
|
-
[When::BasicTypes::M17n,
|
345
|
-
"names:[Krsnapaksa=, 黒分=]",
|
346
|
-
"[Ikan= ]",
|
347
|
-
"[Lilin= ]",
|
348
|
-
"[Ulung= ]",
|
349
|
-
"[Kelapa= ]",
|
350
|
-
"[Banteng=]",
|
351
|
-
"[Hantu= ]",
|
352
|
-
"[Areng= ]",
|
353
|
-
"[Udang= ]",
|
354
|
-
"[Semudra=]",
|
355
|
-
"[Pare= ]",
|
356
|
-
"[Madu= ]",
|
357
|
-
"[Kala= ]",
|
358
|
-
"[Ular= ]",
|
359
|
-
"[Padi= ]",
|
360
|
-
"[Ulat= ]"
|
361
|
-
]
|
327
|
+
"names:[Suklapaksa=, 白分=]",
|
328
|
+
"[Lidi= ]",
|
329
|
+
"[Kuda= ]",
|
330
|
+
"[Kidang= ]",
|
331
|
+
"[Macan= ]",
|
332
|
+
"[Kucing= ]",
|
333
|
+
"[Sampi= ]",
|
334
|
+
"[Kerbau= ]",
|
335
|
+
"[Tikus= ]",
|
336
|
+
"[Debu= ]",
|
337
|
+
"[Anjing= ]",
|
338
|
+
"[Naga= ]",
|
339
|
+
"[Kambing=]",
|
340
|
+
"[Mayang= ]",
|
341
|
+
"[Gajah= ]",
|
342
|
+
"[Singa= ]"
|
362
343
|
],
|
363
344
|
|
364
345
|
[When::BasicTypes::M17n,
|
365
|
-
"names:[
|
366
|
-
"[
|
367
|
-
"[
|
368
|
-
|
346
|
+
"names:[Krsnapaksa=, 黒分=]",
|
347
|
+
"[Ikan= ]",
|
348
|
+
"[Lilin= ]",
|
349
|
+
"[Ulung= ]",
|
350
|
+
"[Kelapa= ]",
|
351
|
+
"[Banteng=]",
|
352
|
+
"[Hantu= ]",
|
353
|
+
"[Areng= ]",
|
354
|
+
"[Udang= ]",
|
355
|
+
"[Semudra=]",
|
356
|
+
"[Pare= ]",
|
357
|
+
"[Madu= ]",
|
358
|
+
"[Kala= ]",
|
359
|
+
"[Ular= ]",
|
360
|
+
"[Padi= ]",
|
361
|
+
"[Ulat= ]"
|
362
|
+
]
|
363
|
+
],
|
369
364
|
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
],
|
365
|
+
[When::BasicTypes::M17n,
|
366
|
+
"names:[Dwiwara=, 2日週=]",
|
367
|
+
"[Menga=]", # 0
|
368
|
+
"[Pepet=]" # 1
|
369
|
+
],
|
376
370
|
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
],
|
371
|
+
[When::Coordinates::Residue,
|
372
|
+
"label:[Triwara=, 3日週=]", "divisor:3", "day:2",
|
373
|
+
[When::Coordinates::Residue, "label:[Pasah= ]", "remainder: 0"],
|
374
|
+
[When::Coordinates::Residue, "label:[Gelang Tegeh=]", "remainder: 1"],
|
375
|
+
[When::Coordinates::Residue, "label:[Kajeng= ]", "remainder: 2"]
|
376
|
+
],
|
384
377
|
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
],
|
378
|
+
[When::BasicTypes::M17n,
|
379
|
+
"names:[Tjaturwara=, 4日週=]",
|
380
|
+
"[Sri= ]",
|
381
|
+
"[Laba= ]",
|
382
|
+
"[Jaya= ]",
|
383
|
+
"[Menala=]"
|
384
|
+
],
|
393
385
|
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
],
|
386
|
+
[When::Coordinates::Residue,
|
387
|
+
"label:[Pantjawara=, 5日週=]", "divisor:5", "day:1",
|
388
|
+
[When::Coordinates::Residue, "label:[Paing= ]", "remainder: 0"],
|
389
|
+
[When::Coordinates::Residue, "label:[Pon= ]", "remainder: 1"],
|
390
|
+
[When::Coordinates::Residue, "label:[Wage= ]", "remainder: 2"],
|
391
|
+
[When::Coordinates::Residue, "label:[Kliwon=]", "remainder: 3"],
|
392
|
+
[When::Coordinates::Residue, "label:[Umanis=]", "remainder: 4"]
|
393
|
+
],
|
403
394
|
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
395
|
+
[When::Coordinates::Residue,
|
396
|
+
"label:[Perinkelan=, 六曜=]", "divisor:6", "day:2",
|
397
|
+
[When::Coordinates::Residue, "label:[Tungleh=]", "remainder: 0"],
|
398
|
+
[When::Coordinates::Residue, "label:[Aryang= ]", "remainder: 1"],
|
399
|
+
[When::Coordinates::Residue, "label:[Urukung=]", "remainder: 2"],
|
400
|
+
[When::Coordinates::Residue, "label:[Paniron=]", "remainder: 3"],
|
401
|
+
[When::Coordinates::Residue, "label:[Was= ]", "remainder: 4"],
|
402
|
+
[When::Coordinates::Residue, "label:[Maulu= ]", "remainder: 5"]
|
403
|
+
],
|
413
404
|
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
],
|
405
|
+
[When::Coordinates::Residue,
|
406
|
+
"label:[Sadwara=, 6日週=]", "divisor:6", "day:2",
|
407
|
+
[When::Coordinates::Residue, "label:[Mina= ]", "remainder: 0"],
|
408
|
+
[When::Coordinates::Residue, "label:[Taru= ]", "remainder: 1"],
|
409
|
+
[When::Coordinates::Residue, "label:[Sato= ]", "remainder: 2"],
|
410
|
+
[When::Coordinates::Residue, "label:[Patra=]", "remainder: 3"],
|
411
|
+
[When::Coordinates::Residue, "label:[Wong= ]", "remainder: 4"],
|
412
|
+
[When::Coordinates::Residue, "label:[Paksi=]", "remainder: 5"]
|
413
|
+
],
|
424
414
|
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
],
|
415
|
+
[When::Coordinates::Residue,
|
416
|
+
"label:[Septawara=, 7日週=]", "divisor:7", "day:6",
|
417
|
+
[When::Coordinates::Residue, "label:[Reditē= ]", "remainder: 0"],
|
418
|
+
[When::Coordinates::Residue, "label:[Coma= ]", "remainder: 1"],
|
419
|
+
[When::Coordinates::Residue, "label:[Anggara= ]", "remainder: 2"],
|
420
|
+
[When::Coordinates::Residue, "label:[Buda= ]", "remainder: 3"],
|
421
|
+
[When::Coordinates::Residue, "label:[Wraspati= ]", "remainder: 4"],
|
422
|
+
[When::Coordinates::Residue, "label:[Sukra= ]", "remainder: 5"],
|
423
|
+
[When::Coordinates::Residue, "label:[Saniscara=]", "remainder: 6"]
|
424
|
+
],
|
436
425
|
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
],
|
426
|
+
[When::BasicTypes::M17n,
|
427
|
+
"names:[Astawara=, 8日週=]",
|
428
|
+
"[Sri= ]",
|
429
|
+
"[Indra= ]",
|
430
|
+
"[Guru= ]",
|
431
|
+
"[Yama= ]",
|
432
|
+
"[Ludra= ]",
|
433
|
+
"[Brahma=]",
|
434
|
+
"[Kala= ]",
|
435
|
+
"[Uma= ]"
|
436
|
+
],
|
449
437
|
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
],
|
438
|
+
[When::BasicTypes::M17n,
|
439
|
+
"names:[Sangawara=, 9日週=]",
|
440
|
+
"[Dangu= ]",
|
441
|
+
"[Jangur= ]",
|
442
|
+
"[Gigis= ]",
|
443
|
+
"[Nohan= ]",
|
444
|
+
"[Ogan= ]",
|
445
|
+
"[Erangan=]",
|
446
|
+
"[Urungan=]",
|
447
|
+
"[Tulus= ]",
|
448
|
+
"[Dadi= ]"
|
449
|
+
],
|
463
450
|
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
],
|
451
|
+
[When::BasicTypes::M17n,
|
452
|
+
"names:[Dasawara=, 10日週=]",
|
453
|
+
"[Pandita]", # 0
|
454
|
+
"[Pati ]", # 1
|
455
|
+
"[Suka ]", # 2
|
456
|
+
"[Duka ]", # 3
|
457
|
+
"[Sri ]", # 4
|
458
|
+
"[Manuh ]", # 5
|
459
|
+
"[Manusa ]", # 6
|
460
|
+
"[Raja ]", # 7
|
461
|
+
"[Dewa ]", # 8
|
462
|
+
"[Raksasa]" # 9
|
463
|
+
],
|
473
464
|
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
"[Suku-Gajah= ]", # 14
|
484
|
-
"[Wong-Lembu= ]", # 15
|
485
|
-
"[Gajah-Lintah=]", # 16
|
486
|
-
"[Watu-Uler= ]", # 17
|
487
|
-
"[Buta-Gajah= ]" # 18
|
488
|
-
],
|
465
|
+
[When::Coordinates::Residue,
|
466
|
+
"label:[Ingkel=]", "divisor:42", "day:20",
|
467
|
+
[When::Coordinates::Residue, "label:[Wong= ]", "remainder: 0"],
|
468
|
+
[When::Coordinates::Residue, "label:[Sato= ]", "remainder: 7"],
|
469
|
+
[When::Coordinates::Residue, "label:[Mina= ]", "remainder: 14"],
|
470
|
+
[When::Coordinates::Residue, "label:[Manuk=]", "remainder: 21"],
|
471
|
+
[When::Coordinates::Residue, "label:[Taru= ]", "remainder: 28"],
|
472
|
+
[When::Coordinates::Residue, "label:[Buku= ]", "remainder: 35"]
|
473
|
+
],
|
489
474
|
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
[When::Coordinates::Residue, "label:[Paglangan= ]", "remainder: 13"],
|
506
|
-
[When::Coordinates::Residue, "label:[Kala Sungsang= ]", "remainder: 14"],
|
507
|
-
[When::Coordinates::Residue, "label:[Kukus= ]", "remainder: 15"],
|
508
|
-
[When::Coordinates::Residue, "label:[Asu= ]", "remainder: 16"],
|
509
|
-
[When::Coordinates::Residue, "label:[Kartika= ]", "remainder: 17"],
|
510
|
-
[When::Coordinates::Residue, "label:[Naga= ]", "remainder: 18"],
|
511
|
-
[When::Coordinates::Residue, "label:[Banyakangrem= ]", "remainder: 19"],
|
512
|
-
[When::Coordinates::Residue, "label:[Ru= ]", "remainder: 20"],
|
513
|
-
[When::Coordinates::Residue, "label:[Patrem= ]", "remainder: 21"],
|
514
|
-
[When::Coordinates::Residue, "label:[Lembu= ]", "remainder: 22"],
|
515
|
-
[When::Coordinates::Residue, "label:[Dpat= ]", "remainder: 23"],
|
516
|
-
[When::Coordinates::Residue, "label:[Tangis= ]", "remainder: 24"],
|
517
|
-
[When::Coordinates::Residue, "label:[Salar Ukur= ]", "remainder: 25"],
|
518
|
-
[When::Coordinates::Residue, "label:[Prahu Pgat= ]", "remainder: 26"],
|
519
|
-
[When::Coordinates::Residue, "label:[Pwuhu atarung= ]", "remainder: 27"],
|
520
|
-
[When::Coordinates::Residue, "label:[Lawean= ]", "remainder: 28"],
|
521
|
-
[When::Coordinates::Residue, "label:[Kelapa= ]", "remainder: 29"],
|
522
|
-
[When::Coordinates::Residue, "label:[Yuyu= ]", "remainder: 30"],
|
523
|
-
[When::Coordinates::Residue, "label:[Lumbung= ]", "remainder: 31"],
|
524
|
-
[When::Coordinates::Residue, "label:[Kumba= ]", "remainder: 32"],
|
525
|
-
[When::Coordinates::Residue, "label:[Udang= ]", "remainder: 33"],
|
526
|
-
[When::Coordinates::Residue, "label:[Bgoong= ]", "remainder: 34"]
|
527
|
-
],
|
475
|
+
[When::BasicTypes::M17n,
|
476
|
+
"names:[Watek=]",
|
477
|
+
"[Watu-Lembu= ]", # 7
|
478
|
+
"[Buta-Lintah= ]", # 8
|
479
|
+
"[Suku-Uler= ]", # 9
|
480
|
+
"[Wong-Gajah= ]", # 10
|
481
|
+
"[Gajah-Lembu= ]", # 11
|
482
|
+
"[Watu-Lintah= ]", # 12
|
483
|
+
"[Buta-Uler= ]", # 13
|
484
|
+
"[Suku-Gajah= ]", # 14
|
485
|
+
"[Wong-Lembu= ]", # 15
|
486
|
+
"[Gajah-Lintah=]", # 16
|
487
|
+
"[Watu-Uler= ]", # 17
|
488
|
+
"[Buta-Gajah= ]" # 18
|
489
|
+
],
|
528
490
|
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
]
|
491
|
+
[When::Coordinates::Residue,
|
492
|
+
"label:[Lintang=]", "divisor:35", "day:6",
|
493
|
+
[When::Coordinates::Residue, "label:[Gajah= ]", "remainder: 0"],
|
494
|
+
[When::Coordinates::Residue, "label:[Kiriman= ]", "remainder: 1"],
|
495
|
+
[When::Coordinates::Residue, "label:[Jong Sarat= ]", "remainder: 2"],
|
496
|
+
[When::Coordinates::Residue, "label:[Tiwa-Tiwa= ]", "remainder: 3"],
|
497
|
+
[When::Coordinates::Residue, "label:[Sangkatikel= ]", "remainder: 4"],
|
498
|
+
[When::Coordinates::Residue, "label:[Bubu bolong= ]", "remainder: 5"],
|
499
|
+
[When::Coordinates::Residue, "label:[Sungenge= ]", "remainder: 6"],
|
500
|
+
[When::Coordinates::Residue, "label:[Uluku= ]", "remainder: 7"],
|
501
|
+
[When::Coordinates::Residue, "label:[Pedati= ]", "remainder: 8"],
|
502
|
+
[When::Coordinates::Residue, "label:[Kuda= ]", "remainder: 9"],
|
503
|
+
[When::Coordinates::Residue, "label:[Gajah-Mina= ]", "remainder: 10"],
|
504
|
+
[When::Coordinates::Residue, "label:[Bade= ]", "remainder: 11"],
|
505
|
+
[When::Coordinates::Residue, "label:[Maglut= ]", "remainder: 12"],
|
506
|
+
[When::Coordinates::Residue, "label:[Paglangan= ]", "remainder: 13"],
|
507
|
+
[When::Coordinates::Residue, "label:[Kala Sungsang= ]", "remainder: 14"],
|
508
|
+
[When::Coordinates::Residue, "label:[Kukus= ]", "remainder: 15"],
|
509
|
+
[When::Coordinates::Residue, "label:[Asu= ]", "remainder: 16"],
|
510
|
+
[When::Coordinates::Residue, "label:[Kartika= ]", "remainder: 17"],
|
511
|
+
[When::Coordinates::Residue, "label:[Naga= ]", "remainder: 18"],
|
512
|
+
[When::Coordinates::Residue, "label:[Banyakangrem= ]", "remainder: 19"],
|
513
|
+
[When::Coordinates::Residue, "label:[Ru= ]", "remainder: 20"],
|
514
|
+
[When::Coordinates::Residue, "label:[Patrem= ]", "remainder: 21"],
|
515
|
+
[When::Coordinates::Residue, "label:[Lembu= ]", "remainder: 22"],
|
516
|
+
[When::Coordinates::Residue, "label:[Dpat= ]", "remainder: 23"],
|
517
|
+
[When::Coordinates::Residue, "label:[Tangis= ]", "remainder: 24"],
|
518
|
+
[When::Coordinates::Residue, "label:[Salar Ukur= ]", "remainder: 25"],
|
519
|
+
[When::Coordinates::Residue, "label:[Prahu Pgat= ]", "remainder: 26"],
|
520
|
+
[When::Coordinates::Residue, "label:[Pwuhu atarung= ]", "remainder: 27"],
|
521
|
+
[When::Coordinates::Residue, "label:[Lawean= ]", "remainder: 28"],
|
522
|
+
[When::Coordinates::Residue, "label:[Kelapa= ]", "remainder: 29"],
|
523
|
+
[When::Coordinates::Residue, "label:[Yuyu= ]", "remainder: 30"],
|
524
|
+
[When::Coordinates::Residue, "label:[Lumbung= ]", "remainder: 31"],
|
525
|
+
[When::Coordinates::Residue, "label:[Kumba= ]", "remainder: 32"],
|
526
|
+
[When::Coordinates::Residue, "label:[Udang= ]", "remainder: 33"],
|
527
|
+
[When::Coordinates::Residue, "label:[Bgoong= ]", "remainder: 34"]
|
528
|
+
],
|
529
|
+
|
530
|
+
[When::Coordinates::Wuku,
|
531
|
+
"label:[Wuku=]", "divisor:210", "day:146",
|
532
|
+
[When::Coordinates::Wuku, "label:[Sinta= ]", "remainder: 0"],
|
533
|
+
[When::Coordinates::Wuku, "label:[Landep= ]", "remainder: 7"],
|
534
|
+
[When::Coordinates::Wuku, "label:[Ukir= ]", "remainder: 14"],
|
535
|
+
[When::Coordinates::Wuku, "label:[Kurantir= ]", "remainder: 21"],
|
536
|
+
[When::Coordinates::Wuku, "label:[Tulu= ]", "remainder: 28"],
|
537
|
+
[When::Coordinates::Wuku, "label:[Gumbreg= ]", "remainder: 35"],
|
538
|
+
[When::Coordinates::Wuku, "label:[Wariga= ]", "remainder: 42"],
|
539
|
+
[When::Coordinates::Wuku, "label:[Warigadian= ]", "remainder: 49"],
|
540
|
+
[When::Coordinates::Wuku, "label:[Julungwangi= ]", "remainder: 56"],
|
541
|
+
[When::Coordinates::Wuku, "label:[Sungsang= ]", "remainder: 63"],
|
542
|
+
[When::Coordinates::Wuku, "label:[Dunggulan= ]", "remainder: 70"],
|
543
|
+
[When::Coordinates::Wuku, "label:[Kuningan= ]", "remainder: 77"],
|
544
|
+
[When::Coordinates::Wuku, "label:[Langkir= ]", "remainder: 84"],
|
545
|
+
[When::Coordinates::Wuku, "label:[Medangsiya= ]", "remainder: 91"],
|
546
|
+
[When::Coordinates::Wuku, "label:[Pujut= ]", "remainder: 98"],
|
547
|
+
[When::Coordinates::Wuku, "label:[Pahang= ]", "remainder:105"],
|
548
|
+
[When::Coordinates::Wuku, "label:[Krulut= ]", "remainder:112"],
|
549
|
+
[When::Coordinates::Wuku, "label:[Merakih= ]", "remainder:119"],
|
550
|
+
[When::Coordinates::Wuku, "label:[Tambir= ]", "remainder:126"],
|
551
|
+
[When::Coordinates::Wuku, "label:[Medangkungan=]", "remainder:133"],
|
552
|
+
[When::Coordinates::Wuku, "label:[Matal= ]", "remainder:140"],
|
553
|
+
[When::Coordinates::Wuku, "label:[Uye= ]", "remainder:147"],
|
554
|
+
[When::Coordinates::Wuku, "label:[Menail= ]", "remainder:154"],
|
555
|
+
[When::Coordinates::Wuku, "label:[Prangbakat= ]", "remainder:161"],
|
556
|
+
[When::Coordinates::Wuku, "label:[Bala= ]", "remainder:168"],
|
557
|
+
[When::Coordinates::Wuku, "label:[Ugu= ]", "remainder:175"],
|
558
|
+
[When::Coordinates::Wuku, "label:[Wayang= ]", "remainder:182"],
|
559
|
+
[When::Coordinates::Wuku, "label:[Kelawu= ]", "remainder:189"],
|
560
|
+
[When::Coordinates::Wuku, "label:[Dukut= ]", "remainder:196"],
|
561
|
+
[When::Coordinates::Wuku, "label:[Watugunung= ]", "remainder:203"]
|
562
562
|
]
|
563
|
-
]
|
563
|
+
]
|
564
|
+
]]
|
564
565
|
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
end
|
566
|
+
#
|
567
|
+
# When::Coordinates::Residue へ処理を委譲する暦注
|
568
|
+
#
|
569
|
+
# @private
|
570
|
+
When.CalendarNote('BalineseNote/NoteObjects')['day::*'].each do |cood|
|
571
|
+
case cood
|
572
|
+
when Coordinates::Residue
|
573
|
+
module_eval %Q{
|
574
|
+
def #{cood.label.to_s.downcase}(date, parameter=nil)
|
575
|
+
When.CalendarNote('BalineseNote/NoteObjects')['day']['#{cood.label.to_s}'] % date
|
576
|
+
end
|
577
|
+
}
|
578
|
+
when BasicTypes::M17n
|
579
|
+
module_eval %Q{
|
580
|
+
def #{cood.to_s.downcase}(date, parameter=nil)
|
581
|
+
(When.CalendarNote('BalineseNote/NoteObjects')['day']['Wuku'] % date).#{cood.to_s.downcase}
|
582
|
+
end
|
583
|
+
}
|
584
584
|
end
|
585
|
+
end
|
585
586
|
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
end
|
595
|
-
nil
|
587
|
+
#
|
588
|
+
# 任意の暦をバリ暦日に変換
|
589
|
+
#
|
590
|
+
# @private
|
591
|
+
def _to_date_for_note(date)
|
592
|
+
return date if date.frame.kind_of?(When::CalendarTypes::BalineseLuniSolar)
|
593
|
+
(date ^ When.era(:period=>'BalineseLuniSolar')).each do |list|
|
594
|
+
return list[0] if list[0]
|
596
595
|
end
|
596
|
+
nil
|
597
|
+
end
|
597
598
|
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
599
|
+
# バリ暦日の「日名」
|
600
|
+
#
|
601
|
+
# @param [When::TM::TemporalPosition] date 「日名」を求める日付
|
602
|
+
# @param [nil] parameter 未使用
|
603
|
+
#
|
604
|
+
# @return [When::BasicTypes::M17n] 「日名」(欠日の場合は2日分を'/'で連結)
|
605
|
+
#
|
606
|
+
def hari(date, parameter=nil)
|
607
|
+
y, m, d = _to_date_for_note(date).cal_date
|
608
|
+
thiti = [d * 1 - 1]
|
609
|
+
thiti[0] += 15 unless [0,1,nil].include?(m * 0)
|
610
|
+
thiti << (thiti[0] + 1) % 30 if d * 0 == -2
|
611
|
+
table = When.CalendarNote('BalineseNote/NoteObjects')['day']['Hari']
|
612
|
+
thiti.map {|t| table[t / 15][t % 15]}.join('/')
|
613
|
+
end
|
613
614
|
|
614
|
-
|
615
|
+
private
|
615
616
|
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
end
|
617
|
+
# オブジェクトの正規化
|
618
|
+
def _normalize(args=[], options={})
|
619
|
+
@event = 'hari'
|
620
|
+
@prime ||= [%w(Month), %w(Pantjawara Perinkelan Septawara Wuku)]
|
621
|
+
super
|
622
622
|
end
|
623
623
|
end
|
624
624
|
end
|