Class: Data::Sun

Inherits:
Object
  • Object
show all
Defined in:
lib/barometer/data/sun.rb

Overview

A simple Sun class

Used to store sunrise and sunset information

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(rise = nil, set = nil) ⇒ Sun

Returns a new instance of Sun.

Raises:

  • (ArgumentError)


11
12
13
14
15
16
# File 'lib/barometer/data/sun.rb', line 11

def initialize(rise=nil, set=nil)
  raise ArgumentError unless (rise.is_a?(Data::LocalTime) || rise.nil?)
  raise ArgumentError unless (set.is_a?(Data::LocalTime) || set.nil?)
  @rise = rise
  @set = set
end

Instance Attribute Details

#riseObject (readonly)

Returns the value of attribute rise.



9
10
11
# File 'lib/barometer/data/sun.rb', line 9

def rise
  @rise
end

#setObject (readonly)

Returns the value of attribute set.



9
10
11
# File 'lib/barometer/data/sun.rb', line 9

def set
  @set
end

Instance Method Details

#after_rise?(time) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


22
23
24
25
# File 'lib/barometer/data/sun.rb', line 22

def after_rise?(time)
  raise ArgumentError unless time.is_a?(Data::LocalTime)
  time >= @rise
end

#before_set?(time) ⇒ Boolean

Returns:

  • (Boolean)

Raises:

  • (ArgumentError)


27
28
29
30
# File 'lib/barometer/data/sun.rb', line 27

def before_set?(time)
  raise ArgumentError unless time.is_a?(Data::LocalTime)
  time <= @set
end

#nil?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/barometer/data/sun.rb', line 18

def nil?
  (@rise || @set) ? false : true
end