class PistePal::DataServices::TallestAndLongestRun

Public Class Methods

call(runs:) click to toggle source
# File lib/piste_pal/data_services/tallest_and_longest_run.rb, line 4
def self.call(runs:)
  new(runs: runs).call
end
new(runs:) click to toggle source
# File lib/piste_pal/data_services/tallest_and_longest_run.rb, line 24
def initialize(runs:)
  @runs = runs
end

Public Instance Methods

call() click to toggle source
# 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