Class: Strava::Models::SummarySegment

Inherits:
Response show all
Includes:
Mixins::Distance
Defined in:
lib/strava/models/summary_segment.rb

Overview

Represents summary information about a segment.

A segment is a specific section of road or trail that athletes can compete on. This summary version contains key information about the segment including location, elevation, and the athlete's personal stats on it.

Examples:

Accessing segment information from an effort

activity = client.activity(1234567890)
activity.segment_efforts.each do |effort|
  segment = effort.segment
  puts "#{segment.name} (#{segment.distance_s})"
  puts "  Location: #{segment.city}, #{segment.state}, #{segment.country}"
  puts "  Grade: #{segment.average_grade}% (max: #{segment.maximum_grade}%)"
  puts "  Elevation: #{segment.elevation_low}m - #{segment.elevation_high}m"

  if segment.athlete_pr_effort
    puts "  Your PR: #{segment.athlete_pr_effort.pr_elapsed_time}s"
  end
end

See Also:

Instance Method Summary collapse

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

#activity_typeString

Returns Activity type this segment is for ("Ride" or "Run").

Returns:

  • (String)

    Activity type this segment is for ("Ride" or "Run")



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

property 'activity_type'

#athlete_pr_effortSummaryPRSegmentEffort?

Returns Athlete's personal record on this segment.

Returns:



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

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

#athlete_segment_statsSummarySegmentEffort?

Returns Athlete's statistics for this segment.

Returns:



81
# File 'lib/strava/models/summary_segment.rb', line 81

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

#average_gradeFloat

Returns Average grade/incline as a percentage.

Returns:

  • (Float)

    Average grade/incline as a percentage



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

property 'average_grade'

#cityString?

Returns City where the segment is located.

Returns:

  • (String, nil)

    City where the segment is located



66
# File 'lib/strava/models/summary_segment.rb', line 66

property 'city'

#climb_categoryInteger

Returns Climb category (0=uncategorized, 5=easiest, 1=hardest, HC=hors catégorie).

Returns:

  • (Integer)

    Climb category (0=uncategorized, 5=easiest, 1=hardest, HC=hors catégorie)



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

property 'climb_category'

#countryString?

Returns Country where the segment is located.

Returns:

  • (String, nil)

    Country where the segment is located



72
# File 'lib/strava/models/summary_segment.rb', line 72

property 'country'

#elevation_highFloat

Returns Highest elevation point on the segment in meters.

Returns:

  • (Float)

    Highest elevation point on the segment in meters



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

property 'elevation_high'

#elevation_lowFloat

Returns Lowest elevation point on the segment in meters.

Returns:

  • (Float)

    Lowest elevation point on the segment in meters



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

property 'elevation_low'

#elevation_profileString?

Note:

Not documented by Strava API

Returns URL or path to elevation profile visualization.

Returns:

  • (String, nil)

    URL or path to elevation profile visualization



89
# File 'lib/strava/models/summary_segment.rb', line 89

property 'elevation_profile'

#elevation_profilesArray?

Note:

Not documented by Strava API

Returns Array of elevation profile data.

Returns:

  • (Array, nil)

    Array of elevation profile data



93
# File 'lib/strava/models/summary_segment.rb', line 93

property 'elevation_profiles'

#end_latlngLatLng

Returns GPS coordinates of segment end point.

Returns:

  • (LatLng)

    GPS coordinates of segment end point



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

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

#hazardousBoolean?

Note:

Not documented by Strava API

Returns Whether this segment has been flagged as hazardous.

Returns:

  • (Boolean, nil)

    Whether this segment has been flagged as hazardous



97
# File 'lib/strava/models/summary_segment.rb', line 97

property 'hazardous'

#idInteger

Returns Unique identifier for this segment.

Returns:

  • (Integer)

    Unique identifier for this segment



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

property 'id'

#maximum_gradeFloat

Returns Maximum grade/incline as a percentage.

Returns:

  • (Float)

    Maximum grade/incline as a percentage



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

property 'maximum_grade'

#nameString

Returns Name of the segment.

Returns:

  • (String)

    Name of the segment



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

property 'name'

#pr_timeInteger?

Note:

Not documented by Strava API

Returns Athlete's PR time on this segment in seconds.

Returns:

  • (Integer, nil)

    Athlete's PR time on this segment in seconds



109
# File 'lib/strava/models/summary_segment.rb', line 109

property 'pr_time'

#privateBoolean

Returns Whether this is a private segment.

Returns:

  • (Boolean)

    Whether this is a private segment



75
# File 'lib/strava/models/summary_segment.rb', line 75

property 'private'

#resource_stateInteger

Note:

Not documented by Strava API

Returns Resource state indicator.

Returns:

  • (Integer)

    Resource state indicator



85
# File 'lib/strava/models/summary_segment.rb', line 85

property 'resource_state'

#starredBoolean?

Note:

Not documented by Strava API

Returns Whether the current athlete has starred this segment.

Returns:

  • (Boolean, nil)

    Whether the current athlete has starred this segment



101
# File 'lib/strava/models/summary_segment.rb', line 101

property 'starred'

#starred_dateTime?

Note:

Not documented by Strava API

Returns Date when the athlete starred this segment.

Returns:

  • (Time, nil)

    Date when the athlete starred this segment



105
# File 'lib/strava/models/summary_segment.rb', line 105

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

#start_latlngLatLng

Returns GPS coordinates of segment start point.

Returns:

  • (LatLng)

    GPS coordinates of segment start point



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

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

#stateString?

Returns State/province where the segment is located.

Returns:

  • (String, nil)

    State/province where the segment is located



69
# File 'lib/strava/models/summary_segment.rb', line 69

property 'state'