Class: When::CalendarNote::HinduNote

Inherits:
When::CalendarNote show all
Defined in:
lib/when_exe/region/indian.rb

Overview

ヒンドゥー系の暦注

Direct Known Subclasses

HinduNoteDetailed

Defined Under Namespace

Classes: Dates

Constant Summary collapse

NoteObjects =
[When::BasicTypes::M17n, [
  "namespace:[en=http://en.wikipedia.org/wiki/, ja=http://ja.wikipedia.org/wiki/]",
  "locale:[=en:, ja=ja:, alias=ja:]",
  "names:[Hindu]",

  # 年の暦注 ----------------------------
  [When::BasicTypes::M17n,
    "names:[year]",
    [When::BasicTypes::M17n,
      "names:[samvatsara, 木星年=]",
      "[Prabhava=,      プラバヴァ=          ]", #  1
      "[Vibhava=,       ヴィバヴァ=          ]", #  2
      "[Sukha=,         スカ=                ]", #  3
      "[Pramoda=,       プラモーダ=          ]", #  4
      "[Prajāpati=,     プラジャーパティ=    ]", #  5
      "[Aṅgiras=,       アンギラス=          ]", #  6
      "[Śrīmukha=,      シュリームカ=        ]", #  7
      "[Bhāva=,         バーヴァ=            ]", #  8
      "[Yuvan=,         ユヴァン=            ]", #  9
      "[Dhātṛ=,         ダートリ=            ]", # 10
      "[Īśvara=,        イーシュヴァラ=      ]", # 11
      "[Bahudhānya=,    バフダーニャ=        ]", # 12
      "[Pramāthin=,     プラマーティン=      ]", # 13
      "[Vikrama=,       ヴィクラマ=          ]", # 14
      "[Vṛṣa=,          ヴリシャ=            ]", # 15
      "[Chitrabhānu=,   チトラバーヌ=        ]", # 16
      "[Subhānu=,       スバーヌ=            ]", # 17
      "[Tāraṇa=,        ターラナ=            ]", # 18
      "[Pārthiva=,      パールティヴァ=      ]", # 19
      "[Vyaya=,         ヴヤヤ=              ]", # 20
      "[Sarvajit=,      サルヴァジト=        ]", # 21
      "[Sarvadhārin=,   サルヴァダーリン=    ]", # 22
      "[Virodhin=,      ヴィローディン=      ]", # 23
      "[Vikṛta=,        ヴィクリタ=          ]", # 24
      "[Khara=,         カラ=                ]", # 25
      "[Nandana=,       ナンダナ=            ]", # 26
      "[Vijaya=,        ヴィジャヤ=          ]", # 27
      "[Jaya=,          ジャヤ=              ]", # 28
      "[Manmatha=,      マンマタ=            ]", # 29
      "[Durmukha=,      ドゥルムカ=          ]", # 30
      "[Hemalamba=,     ヘマラムバ=          ]", # 31
      "[Vilambin=,      ヴィラムビン=        ]", # 32
      "[Vikārin=,       ヴィカーリン=        ]", # 33
      "[Śārvarin=,      シャールヴァリン=    ]", # 34
      "[Plava=,         プラヴァ=            ]", # 35
      "[Śubhakṛt=,      シュバクリト=        ]", # 36
      "[Śobhana=,       ショバナ=            ]", # 37
      "[Krodhin=,       クロディン=          ]", # 38
      "[Viśvāvasu=,     ヴィシュヴァーヴァス=]", # 39
      "[Parābhava=,     パラーバヴァ=        ]", # 40
      "[Plavaṅga=,      プラヴァンガ=        ]", # 41
      "[Kīlaka=,        キーラカ=            ]", # 42
      "[Saumya=,        サウムヤ=            ]", # 43
      "[Sādhāraṇa=,     サーダーラナ=        ]", # 44
      "[Virodhakṛt=,    ヴィローダクリト=    ]", # 45
      "[Paridhāvin=,    パリダーヴィン=      ]", # 46
      "[Pramādin=,      プラマーディン=      ]", # 47
      "[Ānanda=,        アーナンダ=          ]", # 48
      "[Rākṣasa=,       ラークシャサ=        ]", # 49
      "[Anala=,         アナラ=              ]", # 50
      "[Piṅgala=,       ピンガラ=            ]", # 51
      "[Kālayukta=,     カーラユクタ=        ]", # 52
      "[Siddhārthin=,   シッダールティン=    ]", # 53
      "[Raudra=,        ラウドラ=            ]", # 54
      "[Durmati=,       ドゥルマティ=        ]", # 55
      "[Dundubhi=,      ドゥンドゥビ=        ]", # 56
      "[Rudhirodgārin=, ルディロードガーリン=]", # 57
      "[Raktākṣin=,     ラクタークシン=      ]", # 58
      "[Krodhana=,      クローダナ=          ]", # 59
      "[Kṣaya=,         クシャヤ=            ]"  # 60
    ]
  ],

  # 月の暦注 ----------------------------
  [When::BasicTypes::M17n,
    "names:[month]",
    [When::BasicTypes::M17n,
      "names:[Month]"
    ]
  ],

  # 日の暦注 ----------------------------
  [When::BasicTypes::M17n,
    "names:[day]",

    [When::BasicTypes::M17n,
      "names:[tithi=, ティティ=ja:%%<ティティ>]",
      "[Amavasya,                   新月 ]", # 新月
      "[Pratipad=en:Prathama_(day), 1日=]", #  1
      "[Dwitiya,                    2日=]", #  2
      "[Tritiya,                    3日=]", #  3
      "[Chaturthi,                  4日=]", #  4
      "[Panchami,                   5日=]", #  5
      "[Ṣaṣṭhī=en:Shashti,          6日=]", #  6
      "[Saptami,                    7日=]", #  7
      "[Ashtami,                    8日=]", #  8
      "[Navami,                     9日=]", #  9
      "[Dashami,                    10日=]", # 10
      "[Ekadashi,                   11日=]", # 11
      "[Dwadashi,                   12日=]", # 12
      "[Thrayodashi,                13日=]", # 13
      "[Chaturdashi,                14日=]", # 14
      "[Purnima,                    満月 ]"  # 満月
    ],

    [When::BasicTypes::M17n,
      "names:[vāra=, ヴァーラ=, *vara=]",
      "[Ravi=en:S%C5%ABrya, 日曜日]",
      "[Soma,               月曜日]",
      "[Maṅgala=en:Mangala, 火曜日]",
      "[Budha,              水曜日]",
      "[Guru,               木曜日]",
      "[Śukra=en:Shukra,    金曜日]",
      "[Śani=en:Shani,      土曜日]" 
    ],

    [When::BasicTypes::M17n,
      "names:[nakṣatra=, ナクシャトラ=, *naksatra=]",
      "[Aśvinī=en:Ashvin%C4%AB,                           アシュヴィニー=,     婁宿]", #  1
      "[Bharaṇī=en:Bharan%C4%AB,                          バラニー=,           胃宿]", #  2
      "[Kṛttikā=en:Krittik%C4%81,                         クリッティカー=,     昴宿]", #  3
      "[Rohiṇī=en:Rohini_(nakshatra),                     ローヒニ―=,         畢宿]", #  4
      "[Mṛgaśiras=en:Mrigash%C4%ABrsha,                   ムリガシラス=,       觜宿]", #  5
      "[Ārdrā=en:Ardra_(nakshatra),                       アールドラー=,       參宿]", #  6
      "[Punarvasu=en:Punarvasu,                           プナルヴァス=,       井宿]", #  7
      "[Puṣya=en:Pushya,                                  プシュヤ=,           鬼宿]", #  8
      "[Aśleṣā=en:%C4%80shlesh%C4%81,                     アーシュレーシャー=, 柳宿]", #  9
      "[Maghā=en:Magh%C4%81,                              マガー=,             星宿]", # 10
      "[P. Phalguṇī=en:P%C5%ABrva_Phalgun%C4%AB,          P. パールグニー=,    張宿]", # 11
      "[U. Phalguṇī=en:Uttara_Phalgun%C4%AB,              U. パールグニー=,    翼宿]", # 12
      "[Hasta=en:Nakshatra#Divisions,                     ハスタ=,             軫宿]", # 13
      "[Citrā=en:Nakshatra#Divisions,                     チトラー=,           角宿]", # 14
      "[Svāti=en:Sv%C4%81t%C4%AB,                         スヴァーティー=,     亢宿]", # 15
      "[Viśākha=en:Vish%C4%81kh%C4%81,                    ヴィシャーカー=,     氐宿]", # 16
      "[Anurādhā=en:Anur%C4%81dh%C4%81,                   アヌラーダー=,       房宿]", # 17
      "[Jyeṣṭha=en:Jyeshtha,                              ジェーシュター=,     心宿]", # 18
      "[Mūla=en:Mula_(astrology),                         ムーラ=,             尾宿]", # 19
      "[P. āṣāḍha=en:P%C5%ABrva_Ash%C4%81dh%C4%81,        P. アーシャーダー=,  箕宿]", # 20
      "[U. āṣāḍha=en:Uttara_Ash%C4%81dh%C4%81,            U. アーシャーダー=,  斗宿]", # 21
      "[Śravaṇa=en:Shravana,                              シュラヴァナ=,       女宿]", # 22
      "[Śraviṣṭhā=en:Dhanishta,                           ダニシュター=,       虛宿]", # 23
      "[Śatabhiṣak=en:Shatabhish%C4%81,                   シャタビシャジュ=,   危宿]", # 24
      "[P. Bhādrapadā=en:P%C5%ABrva_Bh%C4%81drapad%C4%81, P. バードラパダー=,  室宿]", # 25
      "[U. Bhādrapadā=en:Uttara_Bh%C4%81drapad%C4%81,     U. バードラパダー=,  壁宿]", # 26
      "[Revatī=en:Revati_(nakshatra),                     レーヴァティー=,     奎宿]"  # 27
    ],

    [When::BasicTypes::M17n,
      "names:[yoga=, ヨーガ=]",
      "[Viṣkambha=, ヴィシュカムバ=  ]", #  1
      "[Prīti=,     プリーティ=      ]", #  2
      "[Āyuśmān=,   アーユシュマー=  ]", #  3
      "[Saubhāgya=, サウバーギャ=    ]", #  4
      "[Śobhana=,   ショーバナ=      ]", #  5
      "[Atigaṇḍa=,  アティガンダ=    ]", #  6
      "[Sukarma=,   スカルマ=        ]", #  7
      "[Dhṛti,      ドゥリティ=      ]", #  8
      "[Śūla=,      シューラ=        ]", #  9
      "[Gaṇḍa=,     ガンダ=          ]", # 10
      "[Vṛddhi=,    ヴリッディ=      ]", # 11
      "[Dhruva=,    ドルヴァ=        ]", # 12
      "[Vyāghāta=,  ヴヤーガータ=    ]", # 13
      "[Harṣaṇa=,   ハルシャナ=      ]", # 14
      "[Vajra=,     ヴァジュラ=      ]", # 15
      "[Siddhi=,    シッディ=        ]", # 16
      "[Vyatīpāta=, ヴヤティーパータ=]", # 17
      "[Varīyas=,   ヴァリーヤス=    ]", # 18
      "[Parigha=,   パリガ=          ]", # 19
      "[Śiva=,      シヴァ=          ]", # 20
      "[Siddha=,    シッダ=          ]", # 21
      "[Sādhya=,    サーディヤ=      ]", # 22
      "[Śubha=,     シュバ=          ]", # 23
      "[Śukla=,     シュクラ=        ]", # 24
      "[Brahman=,   ブラフマン=      ]", # 25
      "[Māhendra=,  マーヘンドラ=    ]", # 26
      "[Vaidhṛti=,  ヴァイドリティ=  ]"  # 27
    ],

    [When::BasicTypes::M17n,
      "names:[Karaṇa=, カラナ=, *karana]",
      "[Bava=,      バヴァ=        ]", # 1
      "[Bālava=,    バーラヴァ=    ]", # 2
      "[Kaulava=,   カウラヴァ=    ]", # 3
      "[Taitila=,   タイティラ=    ]", # 4
      "[Gara=,      ガラ=          ]", # 5
      "[Vaṇija=,    ヴァニジュ=    ]", # 6
      "[Viṣṭi=,     ヴィシュティ=  ]", # 7
      "[Kiṃtughna=, キンストゥグナ=]", # A
      "[Śakuni=,    シャクニ=      ]", # B
      "[Catuṣpāda=, チャトシュパダ=]", # C
      "[Nāga=,      ナーガ=        ]"  # D
    ]
  ]
]]
NoteConsts =
{
  'tithi' => {
    :formula => 15,
    :range   => (-1..2),
    :index   => [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
                 15,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
  },
  'naksatra' => {
    :formula => '27M',
    :range   => (-1..2),
    :index   => (0...27).to_a
  },
  'yoga' => {
    :formula => '27M+27S',
    :range   => (-1..2),
    :index   => (0...27).to_a
  },
  'karana' => {
    :formula => 30,
    :range   => (-2..3),
    :index   => [7] + (0...7).to_a * 8 + [8,9,10]
  }
}

Constants inherited from When::CalendarNote

BahaiNotes, ChineseNotes, DefaultNotes, JavaneseNotes, JulianDayNotes, MayanNotes, TibetanNotes, YiNotes

Constants included from Parts::Resource

Parts::Resource::LabelProperty

Instance Attribute Summary

Attributes inherited from When::CalendarNote

#event

Attributes inherited from TM::ReferenceSystem

#domain_of_validity, #position

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

#_pool, #child, #keys, #locale, #namespace

Instance Method Summary collapse

Methods inherited from When::CalendarNote

#copy, #day, #duration, #enum_for, #include?, #month, #note?, #notes, #year

Methods inherited from TM::ReferenceSystem

#domain, #name

Methods included from Parts::Resource

#[], #^, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir

Methods included from Parts::Resource::Pool

#[], #[]=, #_pool, #_setup_, #pool_keys

Methods included from Parts::Resource::Synchronize

#synchronize

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class When::Parts::Resource

Instance Method Details

#_to_date_for_note(date) ⇒ Object

任意の暦をインド太陰太陽暦日に変換



1030
1031
1032
# File 'lib/when_exe/region/indian.rb', line 1030

def _to_date_for_note(date)
  Dates.new(date)
end

#jovianInteger

木星年の計算方式に“South”を適用開始する年

Returns:

  • (Integer)

    年(カリユガ紀元)



1055
1056
1057
1058
# File 'lib/when_exe/region/indian.rb', line 1055

def jovian
  return @jovian if @jovian.kind_of?(Integer)
  @jovian = @jovian ? @jovian.to_i : 4009
end

#karana(dates) ⇒ Array<When::TM::TemporalPosition>

Returns イベント日時.

Parameters:

Returns:



# File 'lib/when_exe/region/indian.rb', line 1092

#naksatra(dates) ⇒ Array<When::TM::TemporalPosition>

Returns イベント日時.

Parameters:

Returns:



# File 'lib/when_exe/region/indian.rb', line 1082

#pancanga(dates, key) ⇒ Array<When::TM::TemporalPosition>

ヴァーラ以外のイベント日時

Parameters:

  • dates (Dates)
  • key (String)

    ‘tithi’, ‘naksatra’, ‘yoga’, ‘karana’ のいずれか

Returns:



1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
# File 'lib/when_exe/region/indian.rb', line 1114

def pancanga(dates, key)
  pattern = NoteConsts[key]
  note    = dates.root[key]
  if pattern[:formula].kind_of?(Numeric)
    factor  = pattern[:formula].to_f
    formula = dates.formula
  else
    factor  = 1.0
    formula = When.Resource(dates.iri.sub(/formula=2L/, "formula=#{pattern[:formula]}"))
  end
  cn      = (formula.time_to_cn(dates.l_date) * factor).floor
  events  = []
  pattern[:range].each do |i|
    event = formula._to_seed_type(formula.cn_to_time((cn+i)/factor), dates.l_date)
    break if +event >= +dates.rises[1]
    next  if +event <  +dates.rises[0]
    event.events = [note[pattern[:index][(cn+i) % pattern[:index].length]]]
    events << event
  end
  events
end

#samvatsara(dates) ⇒ When::BasicTypes::M17n

木星年

see Samvatsara

Parameters:

Returns:



1043
1044
1045
1046
1047
1048
# File 'lib/when_exe/region/indian.rb', line 1043

def samvatsara(dates)
  year_kali = dates.l_date.most_significant_coordinate + dates.l_date.frame._diff_to_CE + 3101
  year_mod  = year_kali >= jovian ? (year_kali + 12) % 60 :
                                   ((year_kali * 211 - 108).div(18000) + year_kali + 26) % 60
  When.CalendarNote('HinduNote/NoteObjects')['year']['samvatsara'][year_mod]
end

#tithi(dates) ⇒ Array<When::TM::TemporalPosition>

Returns イベント日時.

Parameters:

Returns:



# File 'lib/when_exe/region/indian.rb', line 1077

#vara(dates) ⇒ Array<When::TM::TemporalPosition>

ヴァーラ (七曜)

Parameters:

Returns:



1067
1068
1069
1070
1071
# File 'lib/when_exe/region/indian.rb', line 1067

def vara(dates)
  rise        =  dates.rises[0]
  rise.events = [dates.root['vara'][(rise.to_i+1) % 7]]
  ['V:-', rise]
end

#yoga(dates) ⇒ Array<When::TM::TemporalPosition>

Returns イベント日時.

Parameters:

Returns:



# File 'lib/when_exe/region/indian.rb', line 1087