Class: When::CalendarTypes::CalendarNote::Christian
- Inherits:
-
When::CalendarTypes::CalendarNote
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- When::CalendarTypes::CalendarNote
- When::CalendarTypes::CalendarNote::Christian
- Defined in:
- lib/when_exe/region/christian.rb
Overview
キリスト教の暦注(クリスマスと復活祭)
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]", "names:[Christian]", # 年の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[year]" ], # 月の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[month]", [When::BasicTypes::M17n, "names:[Month]" ] ], # 日の暦注 ---------------------------- [When::BasicTypes::M17n, "names:[day]", [When::BasicTypes::M17n, "names:[Easter, 復活祭]" ], [When::BasicTypes::M17n, "names:[Christmas, クリスマス]"], [When::BasicTypes::M17n, "names:[Fixed_feast=, 固定祝日=]" ], [When::BasicTypes::M17n, "names:[Moveable_feast, 移動祝日]" ] ] ]]
- Fixed_feasts =
固定祝日
{ [ 1, 6] => "Epiphany", [ 3, 1] => "St.David's Day", [ 3, 17] => "St.Patrick's Day", [ 3, 25] => "Annunciation-Lady Day", [ 4, 23] => "St.George's Day", [ 6, 24] => "Midsummer Day", [ 9, 14] => "Holy Cross Day", [ 9, 29] => "Michaelmas Day", [11, 30] => "St.Andrew's Day", [12, 13] => "St.Lucia's Day", [12, 21] => "St.Thomas's Day", # [12, 25] => "Christmas Day" }
- Moveable_feasts =
移動祝日
{ # 復活祭からの日数による -63 => "Septuagesima Sunday", -56 => "Sexagesima Sunday", -49 => "Quinquagesima Sunday", -46 => "Ash Wednesday", -42 => "Quadragesima Sunday", -40 => "I Quatember", -35 => "Reminizer Sunday", -28 => "Oculi Sunday", -21 => "Laetare Sunday", -14 => "Judica Sunday", -7 => "Palmarum", -2 => "Good Friday", # 0 => "Easter Day", 7 => "Low Sunday", 35 => "Rogation Sunday", 39 => "Ascension Day", 49 => "Whitsunday", 53 => "II Quatember", 56 => "Trinity Sunday", 60 => "Corpus Christi", }.update(moveable_feasts)
Constants inherited from When::CalendarTypes::CalendarNote
BahaiNotes, ChineseNotes, DefaultNotes, JavaneseNotes, JulianDayNotes, MayanNotes, TibetanNotes, YiNotes
Constants included from Parts::Resource
Parts::Resource::LabelProperty
Instance Attribute Summary collapse
-
#b ⇒ Integer
readonly
ベース.
-
#c ⇒ Integer
readonly
月の位相の補正.
-
#d ⇒ Integer
readonly
最も遅い満月の3月0日からの日数.
-
#f ⇒ Integer
readonly
満月補正フラグ.
-
#g ⇒ Integer
readonly
ガード.
-
#n ⇒ Integer
readonly
平年数.
-
#s ⇒ Integer
readonly
置閏周期.
-
#w ⇒ Integer
readonly
週日補正フラグ.
-
#x ⇒ Integer
readonly
クリスマスの3月0日からの日数.
Attributes inherited from When::CalendarTypes::CalendarNote
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Instance Method Summary collapse
-
#_delta(parameter = nil) ⇒ Object
(also: #christmas_delta, #easter_delta)
イベントの標準的な間隔を返す.
-
#christmas(date, frame = nil) ⇒ Integer, When::TM::CalDate
クリスマス.
-
#easter(date, frame = nil) ⇒ Integer, When::TM::CalDate
復活祭.
-
#fixed_feast(date, frame = nil) ⇒ String?
固定祝日.
-
#moveable_feast(date, frame = nil) ⇒ String?
移動祝日.
Methods inherited from When::CalendarTypes::CalendarNote
#copy, #day, #duration, #enum_for, #include?, #month, #note?, #notes, #year
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _decode, _encode, _extract_prefix, _instance, _parse, _path_with_prefix, _replace_tags, _setup_, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Instance Attribute Details
#b ⇒ Integer (readonly)
ベース
584 585 586 |
# File 'lib/when_exe/region/christian.rb', line 584 def b @b end |
#c ⇒ Integer (readonly)
月の位相の補正
576 577 578 |
# File 'lib/when_exe/region/christian.rb', line 576 def c @c end |
#d ⇒ Integer (readonly)
最も遅い満月の3月0日からの日数
560 561 562 |
# File 'lib/when_exe/region/christian.rb', line 560 def d @d end |
#f ⇒ Integer (readonly)
満月補正フラグ
588 589 590 |
# File 'lib/when_exe/region/christian.rb', line 588 def f @f end |
#g ⇒ Integer (readonly)
ガード
580 581 582 |
# File 'lib/when_exe/region/christian.rb', line 580 def g @g end |
#n ⇒ Integer (readonly)
平年数
568 569 570 |
# File 'lib/when_exe/region/christian.rb', line 568 def n @n end |
#s ⇒ Integer (readonly)
置閏周期
572 573 574 |
# File 'lib/when_exe/region/christian.rb', line 572 def s @s end |
#w ⇒ Integer (readonly)
週日補正フラグ
556 557 558 |
# File 'lib/when_exe/region/christian.rb', line 556 def w @w end |
#x ⇒ Integer (readonly)
クリスマスの3月0日からの日数
564 565 566 |
# File 'lib/when_exe/region/christian.rb', line 564 def x @x end |
Instance Method Details
#_delta(parameter = nil) ⇒ Object Also known as: christmas_delta, easter_delta
イベントの標準的な間隔を返す
632 633 634 |
# File 'lib/when_exe/region/christian.rb', line 632 def _delta(parameter=nil) return When::DurationP1Y end |
#christmas(date, frame = nil) ⇒ Integer, When::TM::CalDate
クリスマス
599 600 601 602 603 |
# File 'lib/when_exe/region/christian.rb', line 599 def christmas(date, frame=nil) _event(date, 'christmas', frame) do |year, frame| @x - 1 + frame._coordinates_to_number(year, 2, 0) end end |
#easter(date, frame = nil) ⇒ Integer, When::TM::CalDate
復活祭
614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 |
# File 'lib/when_exe/region/christian.rb', line 614 def easter(date, frame=nil) _event(date, 'easter', frame) do |year, frame| golden = (year+@b) % @s + 1 m = (frame._lunar_equation(year) + 11*golden + @c) % 30 if @f == 0 m += 1 if m==0 || m==1 && golden>=@n else m += (golden-1) / @f m -= 30 if m>=@n end result = frame._coordinates_to_number(year, 2, 0) + @d - 1 - m result += @g - (result-@w) % 7 if @w<7 result end end |
#fixed_feast(date, frame = nil) ⇒ String?
固定祝日
650 651 652 653 |
# File 'lib/when_exe/region/christian.rb', line 650 def fixed_feast(date, frame=nil) date = When.Calendar(frame||'Gregorian') ^ date unless date.frame.kind_of?(When::CalendarTypes::Julian) Fixed_feasts[date.cal_date[-2..-1]] end |
#moveable_feast(date, frame = nil) ⇒ String?
移動祝日
663 664 665 666 667 668 |
# File 'lib/when_exe/region/christian.rb', line 663 def moveable_feast(date, frame=nil) result = Moveable_feasts[date.to_i - easter(date, frame).to_i] return result if result date = When.Calendar(frame||'Gregorian') ^ date unless date.frame.kind_of?(When::CalendarTypes::Julian) Moveable_feasts[date.cal_date[-2..-1] + [date.to_i % 7]] end |