Class: When::CalendarNote::HinduNote::Dates

Inherits:
Object
  • Object
show all
Defined in:
lib/when_exe/region/indian.rb

Overview

pancanga 計算に必要となる情報をまとめた内部クラス

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(date) ⇒ Dates

初期設定



1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
# File 'lib/when_exe/region/indian.rb', line 1005

def initialize(date)
  @o_date  = date
  clock    = date.clock
  frame    = date.frame if date.frame.kind_of?(When::CalendarTypes::HinduLuniSolar)
  @l_date  = (frame || When.Calendar('HinduLuniSolar?note=HinduNote')).jul_trans(date.to_i, {:clock=>'+05:30'})
  @root    = When.CalendarNote('HinduNote/NoteObjects')['day']
  @formula = @l_date.frame.formula[-1]
  @iri     = @formula.iri
  @rises   = [@formula.sunrise(@l_date), @formula.sunrise(@l_date+When.Duration('P1D'))]
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object

その他のメソッドは @l_date に移譲する



1017
1018
1019
1020
1021
1022
1023
1024
# File 'lib/when_exe/region/indian.rb', line 1017

def method_missing(name, *args, &block)
  self.class.module_eval %Q{
    def #{name}(*args, &block)
      @l_date.send("#{name}", *args, &block)
    end
  } unless When::Parts::MethodCash.escape(name)
  @l_date.send(name, *args, &block)
end

Instance Attribute Details

#formulaObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def formula
  @formula
end

#iriObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def iri
  @iri
end

#l_dateObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def l_date
  @l_date
end

#o_dateObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def o_date
  @o_date
end

#risesObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def rises
  @rises
end

#rootObject (readonly)



1001
1002
1003
# File 'lib/when_exe/region/indian.rb', line 1001

def root
  @root
end