Class: When::CalendarNote::Japanese::Cal4Note

Inherits:
Object
  • Object
show all
Defined in:
lib/when_exe/region/japanese/notes.rb,
lib/when_exe/region/japanese/notes.rb

Overview

日本暦注が使用する暦法

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(calendar, solar) ⇒ Cal4Note

Returns a new instance of Cal4Note.



25
26
27
28
# File 'lib/when_exe/region/japanese/notes.rb', line 25

def initialize(calendar, solar)
  @calendar = calendar
  @solar    = solar
end

Instance Attribute Details

#calendarObject (readonly)

Returns the value of attribute calendar.



361
362
363
# File 'lib/when_exe/region/japanese/notes.rb', line 361

def calendar
  @calendar
end

#solarObject (readonly)

Returns the value of attribute solar.



361
362
363
# File 'lib/when_exe/region/japanese/notes.rb', line 361

def solar
  @solar
end

Instance Method Details

#doyoObject



384
385
386
# File 'lib/when_exe/region/japanese/notes.rb', line 384

def doyo
  @doyo       ||= (s_calendar.doyo ? s_calendar.doyo * 360.0 / s_calendar.formula[0].year_length : 0)
end

#l_calendarObject



363
364
365
# File 'lib/when_exe/region/japanese/notes.rb', line 363

def l_calendar
  @l_calendar ||= When.Calendar(@calendar.kind_of?(String) ? @calendar.sub(/#\{\?.+?\}/, '') : @calendar)
end

#l_phasesObject



371
372
373
# File 'lib/when_exe/region/japanese/notes.rb', line 371

def l_phases
  @l_phases   ||= Japanese::LunarPhases.new('formula'=>l_calendar.formula[-1])
end

#s_calendarObject



367
368
369
# File 'lib/when_exe/region/japanese/notes.rb', line 367

def s_calendar
  @s_calendar ||= When.Calendar(@solar.kind_of?(String) ? @solar.sub(/#\{\?.+?\}/, '?Clock=THS') : @solar)
end

#s_termsObject



375
376
377
# File 'lib/when_exe/region/japanese/notes.rb', line 375

def s_terms
  @s_terms    ||= Japanese::SolarTerms.new('formula'=>s_calendar.formula[0])
end

#s_terms2Object



379
380
381
382
# File 'lib/when_exe/region/japanese/notes.rb', line 379

def s_terms2
  @s_terms2   ||= @l_calendar.iri =~ /JapaneseTwin(.*?)::天保暦/ ?
    Japanese::SolarTermsRevised.new('formula'=>s_calendar.formula[0]) : s_terms
end