class TcxRb::Activity

Attributes

creator[RW]
id[RW]
laps[RW]
sport[RW]

Public Class Methods

new(args = {}) click to toggle source
# File lib/tcx_rb/activity.rb, line 5
def initialize(args = {})
  @sport = args[:sport]
  @id = args[:id]
  @creator = args[:creator]
  @laps = args[:laps]
end

Public Instance Methods

avg_altitude() click to toggle source
# File lib/tcx_rb/activity.rb, line 36
def avg_altitude
  total = total_tps.to_f
  @laps.sum { |lap| (lap.trackpoints.size / total) * lap.avg_altitude }
end
avg_heart_rate() click to toggle source
# File lib/tcx_rb/activity.rb, line 21
def avg_heart_rate
  # weighted average of each laps avg_heart_rate based on
  # trackpoints size
  total = total_tps.to_f
  @laps.sum { |lap| (lap.trackpoints.size / total) * lap.avg_heart_rate }
end
avg_pace() click to toggle source
# File lib/tcx_rb/activity.rb, line 49
def avg_pace
  distance / time
end
calories() click to toggle source
# File lib/tcx_rb/activity.rb, line 65
def calories
  @laps.sum(&:calories)
end
distance() click to toggle source
# File lib/tcx_rb/activity.rb, line 61
def distance
  @laps.sum(&:distance)
end
max_altitude() click to toggle source
# File lib/tcx_rb/activity.rb, line 28
def max_altitude
  @laps.map(&:max_altitude).max
end
max_heart_rate() click to toggle source
# File lib/tcx_rb/activity.rb, line 13
def max_heart_rate
  @laps.map(&:max_heart_rate).max
end
max_pace() click to toggle source
# File lib/tcx_rb/activity.rb, line 41
def max_pace
  @laps.map(&:max_pace).max
end
min_altitude() click to toggle source
# File lib/tcx_rb/activity.rb, line 32
def min_altitude
  @laps.map(&:min_altitude).min
end
min_heart_rate() click to toggle source
# File lib/tcx_rb/activity.rb, line 17
def min_heart_rate
  @laps.map(&:min_heart_rate).min
end
min_pace() click to toggle source
# File lib/tcx_rb/activity.rb, line 45
def min_pace
  @laps.map(&:min_pace).min
end
time() click to toggle source
# File lib/tcx_rb/activity.rb, line 57
def time
  @laps.sum(&:active_time)
end
total_tps() click to toggle source
# File lib/tcx_rb/activity.rb, line 53
def total_tps
  @laps.sum { |lap| lap.trackpoints.size }
end