Class: When::CalendarTypes::CalendarNote::JapaneseNote::Dates
- Inherits:
-
Object
- Object
- When::CalendarTypes::CalendarNote::JapaneseNote::Dates
- Defined in:
- lib/when_exe/region/japanese_notes.rb
Overview
日本暦注計算に必要となる暦日や暦法をまとめた内部クラス
Instance Attribute Summary collapse
- #calendar ⇒ Object readonly
- #doyo ⇒ Object readonly
- #l_date ⇒ Object readonly
- #l_phases ⇒ Object readonly
- #m_date ⇒ Object readonly
- #o_date ⇒ Object readonly
- #s_date ⇒ Object readonly
- #s_terms ⇒ Object readonly
- #year ⇒ Object readonly
Instance Method Summary collapse
-
#index_g ⇒ Object
具注暦の配置パターン.
-
#index_s ⇒ Object
七十二候パターン.
-
#initialize(date, year, calendar, doyo = nil) ⇒ Dates
constructor
初期設定.
Constructor Details
#initialize(date, year, calendar, doyo = nil) ⇒ Dates
初期設定
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 |
# File 'lib/when_exe/region/japanese_notes.rb', line 316 def initialize(date, year, calendar, doyo=nil) case calendar when Array # 日本製定朔平気法 l_calendar = When.Calendar('ChineseLuniSolar?' + calendar[0]) s_calendar = When.Calendar('Chinese::' + calendar[1]) when /timezone/ # 定朔定気法 l_calendar = When.Calendar('ChineseLuniSolar?' + calendar) s_calendar = When.Calendar('ChineseSolar?' + calendar) else # 中国製平定朔平気法 l_calendar = When.Calendar('Chinese::' + calendar) s_calendar = When.Calendar('Chinese::' + calendar + '(節月)') end @year = year @calendar = calendar @doyo = doyo @o_date = date @l_date = l_calendar ^ date @m_date = date.frame.kind_of?(When::CalendarTypes::Julian) ? @l_date : date @s_date = s_calendar ^ date @s_terms = When::CalendarTypes::CalendarNote::SolarTerms.new('formula'=>s_calendar.formula[0]) @l_phases = When::CalendarTypes::CalendarNote::LunarPhases.new('formula'=>l_calendar.formula[-1]) end |
Instance Attribute Details
#calendar ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def calendar @calendar end |
#doyo ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def doyo @doyo end |
#l_date ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def l_date @l_date end |
#l_phases ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def l_phases @l_phases end |
#m_date ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def m_date @m_date end |
#o_date ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def o_date @o_date end |
#s_date ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def s_date @s_date end |
#s_terms ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def s_terms @s_terms end |
#year ⇒ Object (readonly)
292 293 294 |
# File 'lib/when_exe/region/japanese_notes.rb', line 292 def year @year end |
Instance Method Details
#index_g ⇒ Object
具注暦の配置パターン
296 297 298 299 300 301 302 |
# File 'lib/when_exe/region/japanese_notes.rb', line 296 def index_g return @index_g if @index_g @index_g = (@year < 1004) ? 0 : # 御堂関白記(前期)以前 (@year < 1185) ? 1 : # 御堂関白記(後期) (@year < 1338) ? 2 : # 鎌倉時代 3 # 室町時代以降 end |
#index_s ⇒ Object
七十二候パターン
306 307 308 309 310 311 312 |
# File 'lib/when_exe/region/japanese_notes.rb', line 306 def index_s return @index_s if @index_s @index_s = (@year < 1685) ? 1 : # 宣明暦式 (@year < 1755) ? 2 : # 貞享暦式 (@year < 1874) ? 3 : # 宝暦暦式 4 # 略本暦式 end |