Class: PistePal::DataServices::TallestAndLongestRun

Inherits:
Object
  • Object
show all
Defined in:
lib/piste_pal/data_services/tallest_and_longest_run.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(runs:) ⇒ Object



4
5
6
# File 'lib/piste_pal/data_services/tallest_and_longest_run.rb', line 4

def self.call(runs:)
  new(runs: runs).call
end

Instance Method Details

#callObject



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/piste_pal/data_services/tallest_and_longest_run.rb', line 8

def call
  tallest = 0
  longest = 0
  @runs.each do |run|
    vertical = run.first.elevation - run.last.elevation
    distance = PistePal::DataServices::Distance.call(trackpoints: run)
    
    tallest = vertical if vertical > tallest
    longest = distance if distance > longest
  end

  [tallest, longest]
end