Class: Strava::Models::ActivityStats

Inherits:
Response show all
Defined in:
lib/strava/models/activity_stats.rb

Overview

Represents aggregated activity statistics for an athlete.

Contains totals broken down by activity type (ride, run, swim) and time period (recent, year-to-date, all-time). Recent totals cover the last 4 weeks.

Examples:

Get athlete statistics

stats = client.athlete_stats(12345)

# Recent activity
recent = stats.recent_run_totals
puts "Recent runs: #{recent.count} activities"
puts "Distance: #{recent.distance_s}"
puts "Time: #{recent.moving_time_in_hours_s}"

# Year-to-date
ytd = stats.ytd_ride_totals
puts "YTD rides: #{ytd.count} totaling #{ytd.distance_s}"

# All-time records
puts "Biggest ride: #{stats.biggest_ride_distance}m"
puts "Biggest climb: #{stats.biggest_climb_elevation_gain}m"

See Also:

Instance Method Summary collapse

Instance Method Details

#all_ride_totalsActivityTotal

Returns All-time ride totals.

Returns:



57
# File 'lib/strava/models/activity_stats.rb', line 57

property 'all_ride_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#all_run_totalsActivityTotal

Returns All-time run totals.

Returns:



60
# File 'lib/strava/models/activity_stats.rb', line 60

property 'all_run_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#all_swim_totalsActivityTotal

Returns All-time swim totals.

Returns:



63
# File 'lib/strava/models/activity_stats.rb', line 63

property 'all_swim_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#biggest_climb_elevation_gainFloat

Returns Most elevation gain in a single activity (meters).

Returns:

  • (Float)

    Most elevation gain in a single activity (meters)



36
# File 'lib/strava/models/activity_stats.rb', line 36

property 'biggest_climb_elevation_gain'

#biggest_ride_distanceFloat

Returns Longest ride distance in meters.

Returns:

  • (Float)

    Longest ride distance in meters



33
# File 'lib/strava/models/activity_stats.rb', line 33

property 'biggest_ride_distance'

#recent_ride_totalsActivityTotal

Returns Recent ride totals (last 4 weeks).

Returns:



39
# File 'lib/strava/models/activity_stats.rb', line 39

property 'recent_ride_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#recent_run_totalsActivityTotal

Returns Recent run totals (last 4 weeks).

Returns:



42
# File 'lib/strava/models/activity_stats.rb', line 42

property 'recent_run_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#recent_swim_totalsActivityTotal

Returns Recent swim totals (last 4 weeks).

Returns:



45
# File 'lib/strava/models/activity_stats.rb', line 45

property 'recent_swim_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#ytd_ride_totalsActivityTotal

Returns Year-to-date ride totals.

Returns:



48
# File 'lib/strava/models/activity_stats.rb', line 48

property 'ytd_ride_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#ytd_run_totalsActivityTotal

Returns Year-to-date run totals.

Returns:



51
# File 'lib/strava/models/activity_stats.rb', line 51

property 'ytd_run_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }

#ytd_swim_totalsActivityTotal

Returns Year-to-date swim totals.

Returns:



54
# File 'lib/strava/models/activity_stats.rb', line 54

property 'ytd_swim_totals', transform_with: ->(v) { Strava::Models::ActivityTotal.new(v) }