Module: WillItRain

Defined in:
lib/will_it_rain.rb,
lib/will_it_rain/version.rb,
lib/will_it_rain/data_point.rb

Defined Under Namespace

Modules: Default Classes: DataPoint

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.at_location?(latitude, longtitude, threshold = Default::THRESHOLD) ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/will_it_rain.rb', line 13

def at_location?(latitude, longtitude, threshold=Default::THRESHOLD)
  with_chances(latitude, longtitude, threshold)[:it_will_rain]
end

.get_summaries(latitude, longtitude, threshold = Default::THRESHOLD) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/will_it_rain.rb', line 22

def get_summaries(latitude, longtitude, threshold=Default::THRESHOLD)
  data_points = daily_data_points(latitude, longtitude)

  if data_points.any? { |dp| dp.surpasses_threshold?(threshold) }
    data_points.map(&:summary).uniq
  else
    [Default::SUMMARY]
  end
end

.with_chances(latitude, longtitude, threshold = Default::THRESHOLD) ⇒ Object



17
18
19
20
# File 'lib/will_it_rain.rb', line 17

def with_chances(latitude, longtitude, threshold=Default::THRESHOLD)
  dp = daily_data_points(latitude, longtitude).max_by(&:percentage)
  {it_will_rain: dp.surpasses_threshold?(threshold), chances: "#{dp.percentage}%"}
end