Class: When::CalendarTypes::ThaiT

Inherits:
CyclicTableBased show all
Includes:
Lunar, Songkran
Defined in:
lib/when_exe/region/thai.rb

Overview

The Calendar of Thai people in China CE1840..2049 (Table based)

Constant Summary collapse

Pattern =
%w(C
B A C A C B A C A B  C A A C B C A A C B  A C A C B A C A A C
B A C A C A B C A A  C B C A A C B A C A  C B A C A B C A A C
B C A A C B A C A C  B A C A B C A A C A  C B A C A B C A A C
A C B B C A A C A C  A A C B A C A B C A  C A B C A A C B C A
A C B A C A A C B C  A A C B A C A C B A  C A A C B A C A C B
A C A B C A C A B C  A A C A B C A C A B  C A A C B C A A C B
A C A A C B C A A C  B A C A C B A C A A  C B A C A C B A C A)

Constants inherited from TM::Calendar

TM::Calendar::HashProperty

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

Attributes inherited from TM::Calendar

#diff_to_CE, #epoch_in_CE, #reference_frame, #time_basis

Attributes included from TimeStandard::TimeBasis

#_time_basis

Attributes inherited from TM::ReferenceSystem

#domain_of_validity, #position

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

#_pool, #child, #keys, #locale, #namespace

Instance Method Summary collapse

Methods included from Songkran

#_eph, #songkran_

Methods included from Lunar

#_verify, #lunar_table, #verify

Methods inherited from CyclicTableBased

#_number_to_coordinates

Methods inherited from TableBased

#_coordinates_to_number, #_length, #_number_to_coordinates

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

#_normalize_time_basis

Methods included from When::Coordinates

to_deg, to_deg_225, to_dms

Methods inherited from TM::ReferenceSystem

#domain, #name

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

#synchronize

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class When::Parts::Resource

Instance Method Details

#_normalize(args = [], options = {}) ⇒ Object

オブジェクトの正規化



226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
# File 'lib/when_exe/region/thai.rb', line 226

def _normalize(args=[], options={})
  @origin_of_LSC ||=  2392666
  @origin_of_MSC ||=     1201
  @epoch_in_CE   ||=      638
  @before = @after =  'ThaiC'
  @indices       ||= ThaiP::Indices
  pattern        ||= Pattern.dup
  if @patch
    @patch.scan(/(\d+)([ABC])/i) do |year,type|
      pattern[year.to_i-(@origin_of_MSC+@epoch_in_CE)] = type.upcase
    end
  end
  @rule_table    = {
    'T' => {'Rule' => pattern},
    'A' => {'Rule' => [354]},
    'B' => {'Rule' => [355]},
    'C' => {'Rule' => [384]}}.merge(ThaiP::RuleTable)
  super
end