Class: When::CalendarTypes::DayBorder

Inherits:
Border show all
Defined in:
lib/when_exe/calendartypes.rb

Overview

日時要素の境界 - 日の出,日の入り

Direct Known Subclasses

SunRise, SunSet

Constant Summary

Constants included from Parts::Resource

Parts::Resource::LabelProperty

Instance Attribute Summary

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 inherited from Border

#_adjust_epoch, #behavior

Methods inherited from TM::ReferenceSystem

#domain, #name

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

#synchronize

Dynamic Method Handling

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

Instance Method Details

#border(date = [], clock = When.utc) ⇒ Array<Numeric>

Note:

属性 @event によって境界を計算する (see Ephemeris::Formula#day_event)

境界の取得

Parameters:

Returns:


1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
# File 'lib/when_exe/calendartypes.rb', line 1062

def border(date=[], clock=When.utc)
  return @border unless date[0] && clock.formula

  clock._encode(
    clock._number_to_coordinates(clock.second *
      clock.time_standard.from_dynamical_time(
        When::TM::JulianDate._d_to_t(
          clock.formula[-1].day_event(
            clock.time_standard.to_dynamical_date(date[0]), @event, When.Resource('_ep:Sun'), @height
          )))), false)
end