class Activity

Strava activity model

Attributes

avg_speed[RW]
date[RW]
distance_km[RW]
elapsed_time_min[RW]

Public Class Methods

new(raw_activity) click to toggle source

Initialize an activity from the raw API json from Strava

raw_activity [Hash]

# File lib/strava/activity.rb, line 10
def initialize(raw_activity)
  @date = Time.parse(raw_activity.start_date_local)
  @distance_km = (raw_activity.distance / 1000.0).round(3)
  @elapsed_time_min = (raw_activity.elapsed_time / 60.0).round(2)
  elapsed_time_hour = (raw_activity.elapsed_time / 3600.0)
  @avg_speed = (distance_km / elapsed_time_hour).round(2)
end

Public Instance Methods

human_avg_speed() click to toggle source
# File lib/strava/activity.rb, line 30
def human_avg_speed
  "#{avg_speed} km/h"
end
human_date() click to toggle source
# File lib/strava/activity.rb, line 18
def human_date
  date.strftime("%d %h %Y")
end
human_distance_km() click to toggle source
# File lib/strava/activity.rb, line 22
def human_distance_km
  "#{distance_km} km"
end
human_elapsed_time() click to toggle source
# File lib/strava/activity.rb, line 26
def human_elapsed_time
  "#{elapsed_time_min} min"
end