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
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-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
|
FrenchTerms = [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:[FrenchTerms]",
|
14
|
+
"names:[FrenchTerms=]",
|
15
15
|
|
16
16
|
[self,
|
17
17
|
"names:[Month, 月=ja:%%<月_(暦)>]",
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C) 2011-
|
3
|
+
Copyright (C) 2011-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
|
IndianTerms = [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:[IndianTerms]",
|
14
|
+
"names:[IndianTerms=]",
|
15
15
|
"[IndianNationalSolar=en:Indian_national_calendar, インド国定暦]",
|
16
16
|
"[HinduSolar=en:Hindu_calendar, インド太陽暦=ja:%%<ヒンドゥー暦>]",
|
17
17
|
"[HinduLuniSolar=en:Hindu_calendar, インド太陰太陽暦=ja:%%<ヒンドゥー暦>]",
|
@@ -765,305 +765,394 @@ module When
|
|
765
765
|
super
|
766
766
|
end
|
767
767
|
end
|
768
|
+
end
|
768
769
|
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
770
|
+
class CalendarNote
|
771
|
+
#
|
772
|
+
# ヒンドゥー系の暦注
|
773
|
+
#
|
774
|
+
class HinduNote < self
|
775
|
+
|
776
|
+
NoteObjects = [When::BasicTypes::M17n, [
|
777
|
+
"namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
|
778
|
+
"locale:[=en:, ja=ja:, alias=ja:]",
|
779
|
+
"names:[Hindu]",
|
780
|
+
|
781
|
+
# 年の暦注 ----------------------------
|
782
|
+
[When::BasicTypes::M17n,
|
783
|
+
"names:[year]",
|
784
|
+
[When::BasicTypes::M17n,
|
785
|
+
"names:[samvatsara, 木星年=]",
|
786
|
+
"[Prabhava=, プラバヴァ= ]", # 1
|
787
|
+
"[Vibhava=, ヴィバヴァ= ]", # 2
|
788
|
+
"[Sukha=, スカ= ]", # 3
|
789
|
+
"[Pramoda=, プラモーダ= ]", # 4
|
790
|
+
"[Prajāpati=, プラジャーパティ= ]", # 5
|
791
|
+
"[Aṅgiras=, アンギラス= ]", # 6
|
792
|
+
"[Śrīmukha=, シュリームカ= ]", # 7
|
793
|
+
"[Bhāva=, バーヴァ= ]", # 8
|
794
|
+
"[Yuvan=, ユヴァン= ]", # 9
|
795
|
+
"[Dhātṛ=, ダートリ= ]", # 10
|
796
|
+
"[Īśvara=, イーシュヴァラ= ]", # 11
|
797
|
+
"[Bahudhānya=, バフダーニャ= ]", # 12
|
798
|
+
"[Pramāthin=, プラマーティン= ]", # 13
|
799
|
+
"[Vikrama=, ヴィクラマ= ]", # 14
|
800
|
+
"[Vṛṣa=, ヴリシャ= ]", # 15
|
801
|
+
"[Chitrabhānu=, チトラバーヌ= ]", # 16
|
802
|
+
"[Subhānu=, スバーヌ= ]", # 17
|
803
|
+
"[Tāraṇa=, ターラナ= ]", # 18
|
804
|
+
"[Pārthiva=, パールティヴァ= ]", # 19
|
805
|
+
"[Vyaya=, ヴヤヤ= ]", # 20
|
806
|
+
"[Sarvajit=, サルヴァジト= ]", # 21
|
807
|
+
"[Sarvadhārin=, サルヴァダーリン= ]", # 22
|
808
|
+
"[Virodhin=, ヴィローディン= ]", # 23
|
809
|
+
"[Vikṛta=, ヴィクリタ= ]", # 24
|
810
|
+
"[Khara=, カラ= ]", # 25
|
811
|
+
"[Nandana=, ナンダナ= ]", # 26
|
812
|
+
"[Vijaya=, ヴィジャヤ= ]", # 27
|
813
|
+
"[Jaya=, ジャヤ= ]", # 28
|
814
|
+
"[Manmatha=, マンマタ= ]", # 29
|
815
|
+
"[Durmukha=, ドゥルムカ= ]", # 30
|
816
|
+
"[Hemalamba=, ヘマラムバ= ]", # 31
|
817
|
+
"[Vilambin=, ヴィラムビン= ]", # 32
|
818
|
+
"[Vikārin=, ヴィカーリン= ]", # 33
|
819
|
+
"[Śārvarin=, シャールヴァリン= ]", # 34
|
820
|
+
"[Plava=, プラヴァ= ]", # 35
|
821
|
+
"[Śubhakṛt=, シュバクリト= ]", # 36
|
822
|
+
"[Śobhana=, ショバナ= ]", # 37
|
823
|
+
"[Krodhin=, クロディン= ]", # 38
|
824
|
+
"[Viśvāvasu=, ヴィシュヴァーヴァス=]", # 39
|
825
|
+
"[Parābhava=, パラーバヴァ= ]", # 40
|
826
|
+
"[Plavaṅga=, プラヴァンガ= ]", # 41
|
827
|
+
"[Kīlaka=, キーラカ= ]", # 42
|
828
|
+
"[Saumya=, サウムヤ= ]", # 43
|
829
|
+
"[Sādhāraṇa=, サーダーラナ= ]", # 44
|
830
|
+
"[Virodhakṛt=, ヴィローダクリト= ]", # 45
|
831
|
+
"[Paridhāvin=, パリダーヴィン= ]", # 46
|
832
|
+
"[Pramādin=, プラマーディン= ]", # 47
|
833
|
+
"[Ānanda=, アーナンダ= ]", # 48
|
834
|
+
"[Rākṣasa=, ラークシャサ= ]", # 49
|
835
|
+
"[Anala=, アナラ= ]", # 50
|
836
|
+
"[Piṅgala=, ピンガラ= ]", # 51
|
837
|
+
"[Kālayukta=, カーラユクタ= ]", # 52
|
838
|
+
"[Siddhārthin=, シッダールティン= ]", # 53
|
839
|
+
"[Raudra=, ラウドラ= ]", # 54
|
840
|
+
"[Durmati=, ドゥルマティ= ]", # 55
|
841
|
+
"[Dundubhi=, ドゥンドゥビ= ]", # 56
|
842
|
+
"[Rudhirodgārin=, ルディロードガーリン=]", # 57
|
843
|
+
"[Raktākṣin=, ラクタークシン= ]", # 58
|
844
|
+
"[Krodhana=, クローダナ= ]", # 59
|
845
|
+
"[Kṣaya=, クシャヤ= ]" # 60
|
846
|
+
]
|
847
|
+
],
|
848
|
+
|
849
|
+
# 月の暦注 ----------------------------
|
850
|
+
[When::BasicTypes::M17n,
|
851
|
+
"names:[month]",
|
852
|
+
[When::BasicTypes::M17n,
|
853
|
+
"names:[Month]"
|
854
|
+
]
|
855
|
+
],
|
856
|
+
|
857
|
+
# 日の暦注 ----------------------------
|
858
|
+
[When::BasicTypes::M17n,
|
859
|
+
"names:[day]",
|
774
860
|
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
861
|
+
[When::BasicTypes::M17n,
|
862
|
+
"names:[tithi=, ティティ=ja:%%<ティティ>]",
|
863
|
+
"[Amavasya, 新月 ]", # 新月
|
864
|
+
"[Pratipad=en:Prathama_(day), 1日=]", # 1
|
865
|
+
"[Dwitiya, 2日=]", # 2
|
866
|
+
"[Tritiya, 3日=]", # 3
|
867
|
+
"[Chaturthi, 4日=]", # 4
|
868
|
+
"[Panchami, 5日=]", # 5
|
869
|
+
"[Ṣaṣṭhī=en:Shashti, 6日=]", # 6
|
870
|
+
"[Saptami, 7日=]", # 7
|
871
|
+
"[Ashtami, 8日=]", # 8
|
872
|
+
"[Navami, 9日=]", # 9
|
873
|
+
"[Dashami, 10日=]", # 10
|
874
|
+
"[Ekadashi, 11日=]", # 11
|
875
|
+
"[Dwadashi, 12日=]", # 12
|
876
|
+
"[Thrayodashi, 13日=]", # 13
|
877
|
+
"[Chaturdashi, 14日=]", # 14
|
878
|
+
"[Purnima, 満月 ]" # 満月
|
879
|
+
],
|
779
880
|
|
780
|
-
# 年の暦注 ----------------------------
|
781
881
|
[When::BasicTypes::M17n,
|
782
|
-
"names:[
|
882
|
+
"names:[vāra=, ヴァーラ=, *vara=]",
|
883
|
+
"[Ravi=en:S%C5%ABrya, 日曜日]",
|
884
|
+
"[Soma, 月曜日]",
|
885
|
+
"[Maṅgala=en:Mangala, 火曜日]",
|
886
|
+
"[Budha, 水曜日]",
|
887
|
+
"[Guru, 木曜日]",
|
888
|
+
"[Śukra=en:Shukra, 金曜日]",
|
889
|
+
"[Śani=en:Shani, 土曜日]"
|
783
890
|
],
|
784
891
|
|
785
|
-
# 月の暦注 ----------------------------
|
786
892
|
[When::BasicTypes::M17n,
|
787
|
-
"names:[
|
788
|
-
[
|
789
|
-
|
790
|
-
]
|
893
|
+
"names:[nakṣatra=, ナクシャトラ=, *naksatra=]",
|
894
|
+
"[Aśvinī=en:Ashvin%C4%AB, アシュヴィニー=, 婁宿]", # 1
|
895
|
+
"[Bharaṇī=en:Bharan%C4%AB, バラニー=, 胃宿]", # 2
|
896
|
+
"[Kṛttikā=en:Krittik%C4%81, クリッティカー=, 昴宿]", # 3
|
897
|
+
"[Rohiṇī=en:Rohini_(nakshatra), ローヒニ―=, 畢宿]", # 4
|
898
|
+
"[Mṛgaśiras=en:Mrigash%C4%ABrsha, ムリガシラス=, 觜宿]", # 5
|
899
|
+
"[Ārdrā=en:Ardra_(nakshatra), アールドラー=, 參宿]", # 6
|
900
|
+
"[Punarvasu=en:Punarvasu, プナルヴァス=, 井宿]", # 7
|
901
|
+
"[Puṣya=en:Pushya, プシュヤ=, 鬼宿]", # 8
|
902
|
+
"[Aśleṣā=en:%C4%80shlesh%C4%81, アーシュレーシャー=, 柳宿]", # 9
|
903
|
+
"[Maghā=en:Magh%C4%81, マガー=, 星宿]", # 10
|
904
|
+
"[P. Phalguṇī=en:P%C5%ABrva_Phalgun%C4%AB, P. パールグニー=, 張宿]", # 11
|
905
|
+
"[U. Phalguṇī=en:Uttara_Phalgun%C4%AB, U. パールグニー=, 翼宿]", # 12
|
906
|
+
"[Hasta=en:Nakshatra#Divisions, ハスタ=, 軫宿]", # 13
|
907
|
+
"[Citrā=en:Nakshatra#Divisions, チトラー=, 角宿]", # 14
|
908
|
+
"[Svāti=en:Sv%C4%81t%C4%AB, スヴァーティー=, 亢宿]", # 15
|
909
|
+
"[Viśākha=en:Vish%C4%81kh%C4%81, ヴィシャーカー=, 氐宿]", # 16
|
910
|
+
"[Anurādhā=en:Anur%C4%81dh%C4%81, アヌラーダー=, 房宿]", # 17
|
911
|
+
"[Jyeṣṭha=en:Jyeshtha, ジェーシュター=, 心宿]", # 18
|
912
|
+
"[Mūla=en:Mula_(astrology), ムーラ=, 尾宿]", # 19
|
913
|
+
"[P. āṣāḍha=en:P%C5%ABrva_Ash%C4%81dh%C4%81, P. アーシャーダー=, 箕宿]", # 20
|
914
|
+
"[U. āṣāḍha=en:Uttara_Ash%C4%81dh%C4%81, U. アーシャーダー=, 斗宿]", # 21
|
915
|
+
"[Śravaṇa=en:Shravana, シュラヴァナ=, 女宿]", # 22
|
916
|
+
"[Śraviṣṭhā=en:Dhanishta, ダニシュター=, 虛宿]", # 23
|
917
|
+
"[Śatabhiṣak=en:Shatabhish%C4%81, シャタビシャジュ=, 危宿]", # 24
|
918
|
+
"[P. Bhādrapadā=en:P%C5%ABrva_Bh%C4%81drapad%C4%81, P. バードラパダー=, 室宿]", # 25
|
919
|
+
"[U. Bhādrapadā=en:Uttara_Bh%C4%81drapad%C4%81, U. バードラパダー=, 壁宿]", # 26
|
920
|
+
"[Revatī=en:Revati_(nakshatra), レーヴァティー=, 奎宿]" # 27
|
791
921
|
],
|
792
922
|
|
793
|
-
# 日の暦注 ----------------------------
|
794
923
|
[When::BasicTypes::M17n,
|
795
|
-
"names:[
|
796
|
-
|
797
|
-
[
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
],
|
816
|
-
|
817
|
-
[
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
],
|
827
|
-
|
828
|
-
[
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
"[Aśleṣā=en:%C4%80shlesh%C4%81, アーシュレーシャー=, 柳宿]", # 9
|
839
|
-
"[Maghā=en:Magh%C4%81, マガー=, 星宿]", # 10
|
840
|
-
"[P. Phalguṇī=en:P%C5%ABrva_Phalgun%C4%AB, P. パールグニー=, 張宿]", # 11
|
841
|
-
"[U. Phalguṇī=en:Uttara_Phalgun%C4%AB, U. パールグニー=, 翼宿]", # 12
|
842
|
-
"[Hasta=en:Nakshatra#Divisions, ハスタ=, 軫宿]", # 13
|
843
|
-
"[Citrā=en:Nakshatra#Divisions, チトラー=, 角宿]", # 14
|
844
|
-
"[Svāti=en:Sv%C4%81t%C4%AB, スヴァーティー=, 亢宿]", # 15
|
845
|
-
"[Viśākha=en:Vish%C4%81kh%C4%81, ヴィシャーカー=, 氐宿]", # 16
|
846
|
-
"[Anurādhā=en:Anur%C4%81dh%C4%81, アヌラーダー=, 房宿]", # 17
|
847
|
-
"[Jyeṣṭha=en:Jyeshtha, ジェーシュター=, 心宿]", # 18
|
848
|
-
"[Mūla=en:Mula_(astrology), ムーラ=, 尾宿]", # 19
|
849
|
-
"[P. āṣāḍha=en:P%C5%ABrva_Ash%C4%81dh%C4%81, P. アーシャーダー=, 箕宿]", # 20
|
850
|
-
"[U. āṣāḍha=en:Uttara_Ash%C4%81dh%C4%81, U. アーシャーダー=, 斗宿]", # 21
|
851
|
-
"[Śravaṇa=en:Shravana, シュラヴァナ=, 女宿]", # 22
|
852
|
-
"[Śraviṣṭhā=en:Dhanishta, ダニシュター=, 虛宿]", # 23
|
853
|
-
"[Śatabhiṣak=en:Shatabhish%C4%81, シャタビシャジュ=, 危宿]", # 24
|
854
|
-
"[P. Bhādrapadā=en:P%C5%ABrva_Bh%C4%81drapad%C4%81, P. バードラパダー=, 室宿]", # 25
|
855
|
-
"[U. Bhādrapadā=en:Uttara_Bh%C4%81drapad%C4%81, U. バードラパダー=, 壁宿]", # 26
|
856
|
-
"[Revatī=en:Revati_(nakshatra), レーヴァティー=, 奎宿]" # 27
|
857
|
-
],
|
858
|
-
|
859
|
-
[When::BasicTypes::M17n,
|
860
|
-
"names:[yoga=, ヨーガ=]",
|
861
|
-
"[iṣkambha=]", # 1
|
862
|
-
"[rīti= ]", # 2
|
863
|
-
"[yuśmān= ]", # 3
|
864
|
-
"[aubhāgya=]", # 4
|
865
|
-
"[obhana= ]", # 5
|
866
|
-
"[tigaṇḍa= ]", # 6
|
867
|
-
"[ukarma= ]", # 7
|
868
|
-
"[hṛti= ]", # 8
|
869
|
-
"[ūla= ]", # 9
|
870
|
-
"[aṇḍa= ]", # 10
|
871
|
-
"[ṛddhi= ]", # 11
|
872
|
-
"[hruva= ]", # 12
|
873
|
-
"[yāghatā= ]", # 13
|
874
|
-
"[arṣaṇa= ]", # 14
|
875
|
-
"[ajra= ]", # 15
|
876
|
-
"[iddhi= ]", # 16
|
877
|
-
"[yatipāta=]", # 17
|
878
|
-
"[ariyas= ]", # 18
|
879
|
-
"[arigha= ]", # 19
|
880
|
-
"[iva= ]", # 20
|
881
|
-
"[iddha= ]", # 21
|
882
|
-
"[ādhya= ]", # 22
|
883
|
-
"[ubha= ]", # 23
|
884
|
-
"[ukla= ]", # 24
|
885
|
-
"[rahma= ]", # 25
|
886
|
-
"[āhendra= ]", # 26
|
887
|
-
"[aidhṛti= ]" # 27
|
888
|
-
],
|
889
|
-
|
890
|
-
[When::BasicTypes::M17n,
|
891
|
-
"names:[Karaṇa=, カラナ=, *karana]",
|
892
|
-
"[Bava=, バヴァ= ]", # 1
|
893
|
-
"[Bālava=, バーラヴァ= ]", # 2
|
894
|
-
"[Kaulava=, カウラヴァ= ]", # 3
|
895
|
-
"[Taitila=, タイティラ= ]", # 4
|
896
|
-
"[Gara=, ガラ= ]", # 5
|
897
|
-
"[Vaṇija=, ヴァニジュ= ]", # 6
|
898
|
-
"[Viṣṭi=, ヴィシュティ= ]", # 7
|
899
|
-
"[Kiṃtughna=, キンストゥグナ=]", # A
|
900
|
-
"[Śakuni=, シャクニ= ]", # B
|
901
|
-
"[Catuṣpāda=, チャトシュパダ=]", # C
|
902
|
-
"[Nāga=, ナーガ= ]" # D
|
903
|
-
]
|
924
|
+
"names:[yoga=, ヨーガ=]",
|
925
|
+
"[Viṣkambha=, ヴィシュカムバ= ]", # 1
|
926
|
+
"[Prīti=, プリーティ= ]", # 2
|
927
|
+
"[Āyuśmān=, アーユシュマー= ]", # 3
|
928
|
+
"[Saubhāgya=, サウバーギャ= ]", # 4
|
929
|
+
"[Śobhana=, ショーバナ= ]", # 5
|
930
|
+
"[Atigaṇḍa=, アティガンダ= ]", # 6
|
931
|
+
"[Sukarma=, スカルマ= ]", # 7
|
932
|
+
"[Dhṛti, ドゥリティ= ]", # 8
|
933
|
+
"[Śūla=, シューラ= ]", # 9
|
934
|
+
"[Gaṇḍa=, ガンダ= ]", # 10
|
935
|
+
"[Vṛddhi=, ヴリッディ= ]", # 11
|
936
|
+
"[Dhruva=, ドルヴァ= ]", # 12
|
937
|
+
"[Vyāghāta=, ヴヤーガータ= ]", # 13
|
938
|
+
"[Harṣaṇa=, ハルシャナ= ]", # 14
|
939
|
+
"[Vajra=, ヴァジュラ= ]", # 15
|
940
|
+
"[Siddhi=, シッディ= ]", # 16
|
941
|
+
"[Vyatīpāta=, ヴヤティーパータ=]", # 17
|
942
|
+
"[Varīyas=, ヴァリーヤス= ]", # 18
|
943
|
+
"[Parigha=, パリガ= ]", # 19
|
944
|
+
"[Śiva=, シヴァ= ]", # 20
|
945
|
+
"[Siddha=, シッダ= ]", # 21
|
946
|
+
"[Sādhya=, サーディヤ= ]", # 22
|
947
|
+
"[Śubha=, シュバ= ]", # 23
|
948
|
+
"[Śukla=, シュクラ= ]", # 24
|
949
|
+
"[Brahman=, ブラフマン= ]", # 25
|
950
|
+
"[Māhendra=, マーヘンドラ= ]", # 26
|
951
|
+
"[Vaidhṛti=, ヴァイドリティ= ]" # 27
|
952
|
+
],
|
953
|
+
|
954
|
+
[When::BasicTypes::M17n,
|
955
|
+
"names:[Karaṇa=, カラナ=, *karana]",
|
956
|
+
"[Bava=, バヴァ= ]", # 1
|
957
|
+
"[Bālava=, バーラヴァ= ]", # 2
|
958
|
+
"[Kaulava=, カウラヴァ= ]", # 3
|
959
|
+
"[Taitila=, タイティラ= ]", # 4
|
960
|
+
"[Gara=, ガラ= ]", # 5
|
961
|
+
"[Vaṇija=, ヴァニジュ= ]", # 6
|
962
|
+
"[Viṣṭi=, ヴィシュティ= ]", # 7
|
963
|
+
"[Kiṃtughna=, キンストゥグナ=]", # A
|
964
|
+
"[Śakuni=, シャクニ= ]", # B
|
965
|
+
"[Catuṣpāda=, チャトシュパダ=]", # C
|
966
|
+
"[Nāga=, ナーガ= ]" # D
|
904
967
|
]
|
905
|
-
]
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
968
|
+
]
|
969
|
+
]]
|
970
|
+
|
971
|
+
NoteConsts = {
|
972
|
+
'tithi' => {
|
973
|
+
:formula => 15,
|
974
|
+
:range => (-1..2),
|
975
|
+
:index => [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
|
976
|
+
15,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
|
977
|
+
},
|
978
|
+
'naksatra' => {
|
979
|
+
:formula => '27M',
|
980
|
+
:range => (-1..2),
|
981
|
+
:index => (0...27).to_a
|
982
|
+
},
|
983
|
+
'yoga' => {
|
984
|
+
:formula => '27M+27S',
|
985
|
+
:range => (-1..2),
|
986
|
+
:index => (0...27).to_a
|
987
|
+
},
|
988
|
+
'karana' => {
|
989
|
+
:formula => 30,
|
990
|
+
:range => (-2..3),
|
991
|
+
:index => [7] + (0...7).to_a * 8 + [8,9,10]
|
929
992
|
}
|
993
|
+
}
|
930
994
|
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
# @private
|
937
|
-
attr_reader :o_date, :l_date, :root, :formula, :iri, :rises
|
938
|
-
|
939
|
-
# 初期設定
|
940
|
-
# @private
|
941
|
-
def initialize(date)
|
942
|
-
@o_date = date
|
943
|
-
clock = date.clock
|
944
|
-
frame = date.frame if date.frame.kind_of?(When::CalendarTypes::HinduLuniSolar)
|
945
|
-
@l_date = (frame || When.Calendar('HinduLuniSolar?note=HinduNote')).jul_trans(date.to_i, {:clock=>'+05:30'})
|
946
|
-
@root = When.CalendarNote('HinduNote/NoteObjects')['day']
|
947
|
-
@formula = @l_date.frame.formula[-1]
|
948
|
-
@iri = @formula.iri
|
949
|
-
@rises = [@formula.sunrise(@l_date), @formula.sunrise(@l_date+When.Duration('P1D'))]
|
950
|
-
end
|
995
|
+
#
|
996
|
+
# pancanga 計算に必要となる情報をまとめた内部クラス
|
997
|
+
#
|
998
|
+
class Dates
|
951
999
|
|
952
|
-
|
953
|
-
|
954
|
-
self.class.module_eval %Q{
|
955
|
-
def #{name}(*args, &block)
|
956
|
-
@l_date.send("#{name}", *args, &block)
|
957
|
-
end
|
958
|
-
} unless When::Parts::MethodCash.escape(name)
|
959
|
-
@l_date.send(name, *args, &block)
|
960
|
-
end
|
961
|
-
end
|
1000
|
+
# @private
|
1001
|
+
attr_reader :o_date, :l_date, :root, :formula, :iri, :rises
|
962
1002
|
|
963
|
-
#
|
964
|
-
# 任意の暦をインド太陰太陽暦日に変換
|
1003
|
+
# 初期設定
|
965
1004
|
# @private
|
966
|
-
def
|
967
|
-
|
1005
|
+
def initialize(date)
|
1006
|
+
@o_date = date
|
1007
|
+
clock = date.clock
|
1008
|
+
frame = date.frame if date.frame.kind_of?(When::CalendarTypes::HinduLuniSolar)
|
1009
|
+
@l_date = (frame || When.Calendar('HinduLuniSolar?note=HinduNote')).jul_trans(date.to_i, {:clock=>'+05:30'})
|
1010
|
+
@root = When.CalendarNote('HinduNote/NoteObjects')['day']
|
1011
|
+
@formula = @l_date.frame.formula[-1]
|
1012
|
+
@iri = @formula.iri
|
1013
|
+
@rises = [@formula.sunrise(@l_date), @formula.sunrise(@l_date+When.Duration('P1D'))]
|
968
1014
|
end
|
969
1015
|
|
970
|
-
#
|
971
|
-
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
rise = dates.rises[0]
|
979
|
-
rise.events = [dates.root['vara'][(rise.to_i+1) % 7]]
|
980
|
-
[rise]
|
1016
|
+
# その他のメソッドは @l_date に移譲する
|
1017
|
+
def method_missing(name, *args, &block)
|
1018
|
+
self.class.module_eval %Q{
|
1019
|
+
def #{name}(*args, &block)
|
1020
|
+
@l_date.send("#{name}", *args, &block)
|
1021
|
+
end
|
1022
|
+
} unless When::Parts::MethodCash.escape(name)
|
1023
|
+
@l_date.send(name, *args, &block)
|
981
1024
|
end
|
1025
|
+
end
|
982
1026
|
|
983
|
-
|
984
|
-
|
985
|
-
|
1027
|
+
#
|
1028
|
+
# 任意の暦をインド太陰太陽暦日に変換
|
1029
|
+
# @private
|
1030
|
+
def _to_date_for_note(date)
|
1031
|
+
Dates.new(date)
|
1032
|
+
end
|
986
1033
|
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
# 当該日付中でカラナが変わる日時
|
1003
|
-
# @method karana(dates)
|
1004
|
-
# @param [Dates] dates
|
1005
|
-
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1006
|
-
#
|
1034
|
+
#
|
1035
|
+
# 木星年
|
1036
|
+
#
|
1037
|
+
# @param [Dates] dates
|
1038
|
+
#
|
1039
|
+
# @return [When::BasicTypes::M17n] 木星年の名称
|
1040
|
+
#
|
1041
|
+
# see {http://en.wikipedia.org/wiki/Samvatsara Samvatsara}
|
1042
|
+
#
|
1043
|
+
def samvatsara(dates)
|
1044
|
+
year_kali = dates.l_date.most_significant_coordinate + dates.l_date.frame._diff_to_CE + 3101
|
1045
|
+
year_mod = year_kali >= jovian ? (year_kali + 12) % 60 :
|
1046
|
+
((year_kali * 211 - 108).div(18000) + year_kali + 26) % 60
|
1047
|
+
When.CalendarNote('HinduNote/NoteObjects')['year']['samvatsara'][year_mod]
|
1048
|
+
end
|
1007
1049
|
|
1008
|
-
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
|
1015
|
-
|
1050
|
+
#
|
1051
|
+
# 木星年の計算方式に“South”を適用開始する年
|
1052
|
+
#
|
1053
|
+
# @return [Integer] 年(カリユガ紀元)
|
1054
|
+
#
|
1055
|
+
def jovian
|
1056
|
+
return @jovian if @jovian.kind_of?(Integer)
|
1057
|
+
@jovian = @jovian ? @jovian.to_i : 4009
|
1058
|
+
end
|
1016
1059
|
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
1020
|
-
|
1021
|
-
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1060
|
+
#
|
1061
|
+
# ヴァーラ (七曜)
|
1062
|
+
#
|
1063
|
+
# @param [Dates] dates
|
1064
|
+
#
|
1065
|
+
# @return [Array<When::TM::TemporalPosition>] 日の出の時刻をイベント時刻とする
|
1066
|
+
#
|
1067
|
+
def vara(dates)
|
1068
|
+
rise = dates.rises[0]
|
1069
|
+
rise.events = [dates.root['vara'][(rise.to_i+1) % 7]]
|
1070
|
+
['V:-', rise]
|
1071
|
+
end
|
1072
|
+
|
1073
|
+
#
|
1074
|
+
# ヴァーラ以外
|
1075
|
+
#
|
1076
|
+
|
1077
|
+
# 当該日付中でティティが変わる日時
|
1078
|
+
# @method tithi(dates)
|
1079
|
+
# @param [Dates] dates
|
1080
|
+
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1081
|
+
|
1082
|
+
# 当該日付中でナクシャトラが変わる日時
|
1083
|
+
# @method naksatra(dates)
|
1084
|
+
# @param [Dates] dates
|
1085
|
+
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1086
|
+
|
1087
|
+
# 当該日付中でヨーガが変わる日時
|
1088
|
+
# @method yoga(dates)
|
1089
|
+
# @param [Dates] dates
|
1090
|
+
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1091
|
+
|
1092
|
+
# 当該日付中でカラナが変わる日時
|
1093
|
+
# @method karana(dates)
|
1094
|
+
# @param [Dates] dates
|
1095
|
+
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1096
|
+
#
|
1097
|
+
|
1098
|
+
# @private
|
1099
|
+
NoteConsts.keys.each do |key|
|
1100
|
+
module_eval %Q{
|
1101
|
+
def #{key}(dates)
|
1102
|
+
pancanga(dates, '#{key}').map {|event| ['#{key[0..0].upcase}:-', event]}
|
1042
1103
|
end
|
1043
|
-
|
1044
|
-
end
|
1104
|
+
}
|
1045
1105
|
end
|
1046
1106
|
|
1047
1107
|
#
|
1048
|
-
#
|
1108
|
+
# ヴァーラ以外のイベント日時
|
1049
1109
|
#
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1110
|
+
# @param [Dates] dates
|
1111
|
+
# @param [String] key 'tithi', 'naksatra', 'yoga', 'karana' のいずれか
|
1112
|
+
# @return [Array<When::TM::TemporalPosition>] イベント日時
|
1113
|
+
#
|
1114
|
+
def pancanga(dates, key)
|
1115
|
+
pattern = NoteConsts[key]
|
1116
|
+
note = dates.root[key]
|
1117
|
+
if pattern[:formula].kind_of?(Numeric)
|
1118
|
+
factor = pattern[:formula].to_f
|
1119
|
+
formula = dates.formula
|
1120
|
+
else
|
1121
|
+
factor = 1.0
|
1122
|
+
formula = When.Resource(dates.iri.sub(/formula=2L/, "formula=#{pattern[:formula]}"))
|
1123
|
+
end
|
1124
|
+
cn = (formula.time_to_cn(dates.l_date) * factor).floor
|
1125
|
+
events = []
|
1126
|
+
pattern[:range].each do |i|
|
1127
|
+
event = formula._to_seed_type(formula.cn_to_time((cn+i)/factor), dates.l_date)
|
1128
|
+
break if +event >= +dates.rises[1]
|
1129
|
+
next if +event < +dates.rises[0]
|
1130
|
+
event.events = [note[pattern[:index][(cn+i) % pattern[:index].length]]]
|
1131
|
+
events << event
|
1066
1132
|
end
|
1133
|
+
events
|
1134
|
+
end
|
1135
|
+
end
|
1136
|
+
|
1137
|
+
#
|
1138
|
+
# 日の出の九惑星の位置まで計算
|
1139
|
+
#
|
1140
|
+
class HinduNoteDetailed < HinduNote
|
1141
|
+
#
|
1142
|
+
# ヴァーラ (七曜)と九惑星の位置
|
1143
|
+
#
|
1144
|
+
# @param [Dates] dates
|
1145
|
+
# @return [Array<When::TM::TemporalPosition, Hash{ 惑星シンボル=>惑星の真黄経 }>]
|
1146
|
+
# 日の出の時刻をイベント時刻とし、その時刻での九惑星の位置を計算
|
1147
|
+
#
|
1148
|
+
def vara(dates)
|
1149
|
+
rise = dates.rises[0]
|
1150
|
+
rise.events = [dates.root['vara'][(rise.to_i+1) % 7]]
|
1151
|
+
t = dates.formula.is_dynamical ? +rise : rise.to_f
|
1152
|
+
[['V:-', rise], dates.formula.graha.keys.inject({}) {|h,p|
|
1153
|
+
h.store(p, dates.formula.graha[p].true_longitude(t))
|
1154
|
+
h
|
1155
|
+
}]
|
1067
1156
|
end
|
1068
1157
|
end
|
1069
1158
|
end
|