class Starline::Builders::Tracks
Public Class Methods
build(geo_points)
click to toggle source
# File lib/starline/builders/tracks.rb, line 8 def self.build(geo_points) tracks = [] geo_points.each_cons(2) do |start_point, end_point| tracks << build_track(start_point, end_point) end Entities::TracksCollection.new(tracks) end
Private Class Methods
build_track(start_point, end_point)
click to toggle source
# File lib/starline/builders/tracks.rb, line 19 def self.build_track(start_point, end_point) Entities::Track.new( start_point: start_point, end_point: end_point, distance: calculate_distance(start_point, end_point) ) end
calculate_distance(start_point, end_point)
click to toggle source
# File lib/starline/builders/tracks.rb, line 27 def self.calculate_distance(start_point, end_point) FastHaversine.distance_between( [start_point.lat, start_point.lon], [end_point.lat, end_point.lon], :km ) end