class TcxRb::Workout

Attributes

activities[RW]

Public Class Methods

new(activities = []) click to toggle source
# File lib/tcx_rb/workout.rb, line 5
def initialize(activities = [])
  @activities = activities
end

Public Instance Methods

+(other) click to toggle source
# File lib/tcx_rb/workout.rb, line 10
def +(other)
  Workout.new(@activities + other.activities)
end
-(other) click to toggle source
# File lib/tcx_rb/workout.rb, line 14
def -(other)
  Workout.new(@activities - other.activities)
end
avg_altitude() click to toggle source
# File lib/tcx_rb/workout.rb, line 39
def avg_altitude
  total = total_tps.to_f
  @activities.sum { |act| (act.total_tps / total) * act.avg_altitude }
end
avg_heart_rate() click to toggle source
# File lib/tcx_rb/workout.rb, line 26
def avg_heart_rate
  total = total_tps.to_f
  @activities.sum { |act| (act.total_tps / total) * act.avg_heart_rate }
end
avg_pace() click to toggle source
# File lib/tcx_rb/workout.rb, line 52
def avg_pace
  distance / time
end
calories() click to toggle source
# File lib/tcx_rb/workout.rb, line 68
def calories
  @activities.sum(&:calories)
end
distance() click to toggle source
# File lib/tcx_rb/workout.rb, line 64
def distance
  @activities.sum(&:distance)
end
max_altitude() click to toggle source
# File lib/tcx_rb/workout.rb, line 31
def max_altitude
  @activities.map(&:max_altitude).max
end
max_heart_rate() click to toggle source
# File lib/tcx_rb/workout.rb, line 18
def max_heart_rate
  @activities.map(&:max_heart_rate).max
end
max_pace() click to toggle source
# File lib/tcx_rb/workout.rb, line 44
def max_pace
  @activities.map(&:max_pace).max
end
min_altitude() click to toggle source
# File lib/tcx_rb/workout.rb, line 35
def min_altitude
  @activities.map(&:min_altitude).min
end
min_heart_rate() click to toggle source
# File lib/tcx_rb/workout.rb, line 22
def min_heart_rate
  @activities.map(&:min_heart_rate).min
end
min_pace() click to toggle source
# File lib/tcx_rb/workout.rb, line 48
def min_pace
  @activities.map(&:min_pace).min
end
time() click to toggle source
# File lib/tcx_rb/workout.rb, line 60
def time
  @activities.sum(&:time)
end
total_tps() click to toggle source
# File lib/tcx_rb/workout.rb, line 56
def total_tps
  @activities.sum(&:total_tps)
end