Class: SolarPositionCalculator

Inherits:
Object
  • Object
show all
Defined in:
lib/tranzito_utils/services/solar_position_calculator.rb

Constant Summary collapse

LATITUDE_RANGE =
(-90..90)
LONGITUDE_RANGE =
(-180..180)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(latitude, longitude, timezone) ⇒ SolarPositionCalculator

Returns a new instance of SolarPositionCalculator.



7
8
9
10
11
12
13
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 7

def initialize(latitude, longitude, timezone)
  validate_latitude(latitude)
  validate_longitude(longitude)
  @latitude = latitude
  @longitude = longitude
  @timezone = timezone
end

Instance Attribute Details

#latitudeObject (readonly)

Returns the value of attribute latitude.



5
6
7
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 5

def latitude
  @latitude
end

#longitudeObject (readonly)

Returns the value of attribute longitude.



5
6
7
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 5

def longitude
  @longitude
end

#timezoneObject (readonly)

Returns the value of attribute timezone.



5
6
7
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 5

def timezone
  @timezone
end

Instance Method Details

#sunrise_time(date) ⇒ Object



15
16
17
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 15

def sunrise_time(date)
  calculate_sun_time(date, :sunrise)
end

#sunset_time(date) ⇒ Object



19
20
21
# File 'lib/tranzito_utils/services/solar_position_calculator.rb', line 19

def sunset_time(date)
  calculate_sun_time(date, :sunset)
end