Class: When::CalendarTypes::ChineseSolar
- Inherits:
-
EphemerisBasedSolar
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- TM::Calendar
- EphemerisBased
- EphemerisBasedSolar
- When::CalendarTypes::ChineseSolar
- Defined in:
- lib/when_exe/region/chinese.rb
Overview
Chinese Solar Calendar
Constant Summary
Constants inherited from TM::Calendar
Constants included from When::Coordinates
When::Coordinates::Bahai, When::Coordinates::Chinese, When::Coordinates::Common, When::Coordinates::DefaultDateIndices, When::Coordinates::DefaultDayIndex, When::Coordinates::DefaultTimeIndices, When::Coordinates::Indian, When::Coordinates::Iranian, When::Coordinates::Javanese, When::Coordinates::MATCH, When::Coordinates::Mayan, When::Coordinates::PERIOD, When::Coordinates::PERIOD_NAME, When::Coordinates::PRECISION, When::Coordinates::PRECISION_NAME, When::Coordinates::Russian, When::Coordinates::Tibetan, When::Coordinates::VALUE, When::Coordinates::Yi
Constants included from Parts::Resource
Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIDecode, Parts::Resource::IRIDecodeTable, Parts::Resource::IRIEncode, Parts::Resource::IRIEncodeTable, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty
Instance Attribute Summary collapse
- #doyo ⇒ Object readonly
-
#twin ⇒ When::CalendarTypes::ChineseLuniSolar
readonly
対で用いる太陰太陽暦の名前.
Attributes inherited from EphemerisBased
Attributes inherited from TM::Calendar
#diff_to_CE, #epoch_in_CE, #reference_frame, #time_basis
Attributes included from TimeStandard::TimeBasis
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Class Method Summary collapse
-
.change_unit(unit, definition) ⇒ Object
盈縮差の表の時間の単位を調整する.
-
.twin(area, definition) ⇒ Object
太陰太陽暦の定義から太陰太陽暦と太陽暦(節月)の組を作る.
Methods inherited from EphemerisBasedSolar
Methods inherited from EphemerisBased
#_coordinates_to_number, #_length, #_number_to_coordinates, #_sum_
Methods inherited from TM::Calendar
#_new_month_, _setup_, #_to_month_number_, #date_trans, #jul_trans, #rate_of_clock, #strftime, #time_standard, #to_cal_date, #to_julian_date, #to_universal_time
Methods included from TimeStandard::TimeBasis
Methods included from When::Coordinates
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _abbreviation_to_iri, _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
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Instance Attribute Details
#doyo ⇒ Object (readonly)
812 813 814 |
# File 'lib/when_exe/region/chinese.rb', line 812 def doyo @doyo end |
#twin ⇒ When::CalendarTypes::ChineseLuniSolar (readonly)
Returns 対で用いる太陰太陽暦の名前.
809 810 811 |
# File 'lib/when_exe/region/chinese.rb', line 809 def twin @twin end |
Class Method Details
.change_unit(unit, definition) ⇒ Object
盈縮差の表の時間の単位を調整する
793 794 795 796 797 798 799 800 801 802 803 |
# File 'lib/when_exe/region/chinese.rb', line 793 def change_unit(unit, definition) definition.map {|line| line.map {|item| case item when Range ; Range.new(item.first*unit, item.last*unit, item.exclude_end?) when Numeric ; item*unit else ; item end } } end |
.twin(area, definition) ⇒ Object
太陰太陽暦の定義から太陰太陽暦と太陽暦(節月)の組を作る
775 776 777 778 779 780 781 782 783 784 785 786 787 |
# File 'lib/when_exe/region/chinese.rb', line 775 def twin(area, definition) definition.inject([]) {|list, cal| if cal.kind_of?(Array) && cal[0] == ChineseLuniSolar solar_name = cal[1].sub(/=?\]/, '(節月)=]') lunisolar = cal.dup << "twin:#{area}::" + solar_name.gsub(/(name:\[|=?\])/,'') solar = cal.dup << "twin:#{area}::" + cal[1].gsub(/(name:\[|=?\])/,'') solar[0..1] = [ChineseSolar, solar_name] list << lunisolar << solar else list << cal end } end |