Class: Astronoby::LocalSiderealTime
- Inherits:
-
SiderealTime
- Object
- SiderealTime
- Astronoby::LocalSiderealTime
- Defined in:
- lib/astronoby/time/local_sidereal_time.rb
Overview
Local Sidereal Time base class. Dispatches to mean or apparent subclasses based on the type of the source GST.
Direct Known Subclasses
Constant Summary
Constants inherited from SiderealTime
Instance Attribute Summary collapse
-
#longitude ⇒ Astronoby::Angle
readonly
The observer’s longitude.
Attributes inherited from SiderealTime
Class Method Summary collapse
-
.from_gst(gst:, longitude:) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Creates an LST from a Greenwich Sidereal Time and longitude.
-
.from_utc(utc, longitude:, type: MEAN) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Creates an LST from UTC and longitude.
Instance Method Summary collapse
-
#initialize(date:, time:, longitude:, type: MEAN) ⇒ LocalSiderealTime
constructor
A new instance of LocalSiderealTime.
-
#to_gst ⇒ Astronoby::GreenwichMeanSiderealTime, Astronoby::GreenwichApparentSiderealTime
Converts to Greenwich Sidereal Time.
Methods inherited from SiderealTime
#apparent?, #mean?, normalize_time, #normalize_time, validate_type!
Constructor Details
#initialize(date:, time:, longitude:, type: MEAN) ⇒ LocalSiderealTime
Returns a new instance of LocalSiderealTime.
46 47 48 49 |
# File 'lib/astronoby/time/local_sidereal_time.rb', line 46 def initialize(date:, time:, longitude:, type: MEAN) super(date: date, time: time, type: type) @longitude = longitude end |
Instance Attribute Details
#longitude ⇒ Astronoby::Angle (readonly)
Returns the observer’s longitude.
8 9 10 |
# File 'lib/astronoby/time/local_sidereal_time.rb', line 8 def longitude @longitude end |
Class Method Details
.from_gst(gst:, longitude:) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Creates an LST from a Greenwich Sidereal Time and longitude.
16 17 18 19 20 21 22 23 |
# File 'lib/astronoby/time/local_sidereal_time.rb', line 16 def self.from_gst(gst:, longitude:) case gst.type when MEAN LocalMeanSiderealTime.from_gst(gst: gst, longitude: longitude) when APPARENT LocalApparentSiderealTime.from_gst(gst: gst, longitude: longitude) end end |
.from_utc(utc, longitude:, type: MEAN) ⇒ Astronoby::LocalMeanSiderealTime, Astronoby::LocalApparentSiderealTime
Creates an LST from UTC and longitude.
32 33 34 35 36 37 38 39 40 |
# File 'lib/astronoby/time/local_sidereal_time.rb', line 32 def self.from_utc(utc, longitude:, type: MEAN) validate_type!(type) case type when MEAN LocalMeanSiderealTime.from_utc(utc, longitude: longitude) when APPARENT LocalApparentSiderealTime.from_utc(utc, longitude: longitude) end end |
Instance Method Details
#to_gst ⇒ Astronoby::GreenwichMeanSiderealTime, Astronoby::GreenwichApparentSiderealTime
Converts to Greenwich Sidereal Time.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/astronoby/time/local_sidereal_time.rb', line 55 def to_gst case @type when MEAN lst = LocalMeanSiderealTime.new( date: @date, time: @time, longitude: @longitude ) lst.to_gst when APPARENT last = LocalApparentSiderealTime.new( date: @date, time: @time, longitude: @longitude ) last.to_gst end end |