Class: Strava::Models::Lap

Inherits:
Response show all
Includes:
Mixins::Distance, Mixins::ElapsedTime, Mixins::MovingTime, Mixins::StartDateLocal, Mixins::TotalElevationGain
Defined in:
lib/strava/models/lap.rb

Overview

Represents a lap within an activity.

Laps are splits within an activity, either created manually by the athlete or auto-generated by the recording device. Each lap contains metrics like distance, time, speed, and elevation for that specific segment of the activity.

Includes helper mixins for formatting distance, time, and elevation.

Examples:

List activity laps

laps = client.activity_laps(1234567890)
laps.each_with_index do |lap, i|
  puts "Lap #{i+1}: #{lap.name}"
  puts "Distance: #{lap.distance_s}"
  puts "Time: #{lap.moving_time_in_hours_s}"
  puts "Elevation: #{lap.total_elevation_gain_s}"
end

See Also:

Instance Method Summary collapse

Methods included from Mixins::TotalElevationGain

#total_elevation_gain_in_feet, #total_elevation_gain_in_feet_s, #total_elevation_gain_in_meters, #total_elevation_gain_in_meters_s, #total_elevation_gain_s

Methods included from Mixins::ElapsedTime

#elapsed_time_in_hours_s

Methods included from Mixins::MovingTime

#moving_time_in_hours_s

Methods included from Mixins::Distance

#distance_in_feet, #distance_in_kilometers, #distance_in_kilometers_s, #distance_in_meters, #distance_in_meters_s, #distance_in_miles, #distance_in_miles_s, #distance_in_yards, #distance_in_yards_s, #distance_s

Instance Method Details

#activityMetaActivity

Returns The activity this lap belongs to.

Returns:



30
# File 'lib/strava/models/lap.rb', line 30

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

#athleteMetaAthlete

Returns The athlete who recorded this lap.

Returns:



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

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

#average_cadenceFloat?

Returns Average cadence (RPM for cycling, steps/minute for running).

Returns:

  • (Float, nil)

    Average cadence (RPM for cycling, steps/minute for running)



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

property 'average_cadence'

#average_heartrateFloat?

Note:

Undocumented in official API

Returns Average heart rate in beats per minute.

Returns:

  • (Float, nil)

    Average heart rate in beats per minute



86
# File 'lib/strava/models/lap.rb', line 86

property 'average_heartrate'

#average_speedFloat

Returns Average speed in meters per second.

Returns:

  • (Float)

    Average speed in meters per second



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

property 'average_speed'

#average_wattsFloat?

Note:

Undocumented in official API

Returns Average power in watts.

Returns:

  • (Float, nil)

    Average power in watts



82
# File 'lib/strava/models/lap.rb', line 82

property 'average_watts'

#device_wattsBoolean?

Note:

Undocumented in official API

Returns Whether the watts are from a power meter (true) or estimated (false).

Returns:

  • (Boolean, nil)

    Whether the watts are from a power meter (true) or estimated (false)



78
# File 'lib/strava/models/lap.rb', line 78

property 'device_watts'

#end_indexInteger

Returns Ending index in the activity's data stream.

Returns:

  • (Integer)

    Ending index in the activity's data stream



49
# File 'lib/strava/models/lap.rb', line 49

property 'end_index'

#idInteger

Returns Lap ID.

Returns:

  • (Integer)

    Lap ID



27
# File 'lib/strava/models/lap.rb', line 27

property 'id'

#lap_indexInteger

Returns The lap number (1-indexed).

Returns:

  • (Integer)

    The lap number (1-indexed)



52
# File 'lib/strava/models/lap.rb', line 52

property 'lap_index'

#max_heartrateFloat?

Note:

Undocumented in official API

Returns Maximum heart rate in beats per minute.

Returns:

  • (Float, nil)

    Maximum heart rate in beats per minute



90
# File 'lib/strava/models/lap.rb', line 90

property 'max_heartrate'

#max_speedFloat

Returns Maximum speed in meters per second.

Returns:

  • (Float)

    Maximum speed in meters per second



55
# File 'lib/strava/models/lap.rb', line 55

property 'max_speed'

#nameString

Returns Lap name (e.g., 'Lap 1', 'Manual Lap').

Returns:

  • (String)

    Lap name (e.g., 'Lap 1', 'Manual Lap')



58
# File 'lib/strava/models/lap.rb', line 58

property 'name'

#pace_zoneInteger?

Returns Pace zone indicator.

Returns:

  • (Integer, nil)

    Pace zone indicator



61
# File 'lib/strava/models/lap.rb', line 61

property 'pace_zone'

#resource_stateInteger?

Note:

Undocumented in official API

Returns Resource state indicator.

Returns:

  • (Integer, nil)

    Resource state indicator



74
# File 'lib/strava/models/lap.rb', line 74

property 'resource_state'

#splitInteger?

Returns Split number within the lap.

Returns:

  • (Integer, nil)

    Split number within the lap



64
# File 'lib/strava/models/lap.rb', line 64

property 'split'

#start_dateTime

Returns Start date and time (UTC).

Returns:

  • (Time)

    Start date and time (UTC)



67
# File 'lib/strava/models/lap.rb', line 67

property 'start_date', transform_with: ->(v) { Time.parse(v) }

#start_indexInteger

Returns Starting index in the activity's data stream.

Returns:

  • (Integer)

    Starting index in the activity's data stream



46
# File 'lib/strava/models/lap.rb', line 46

property 'start_index'