Class: Strava::Models::DetailedSegment
- Inherits:
-
Response
- Object
- Hashie::Trash
- Strava::Model
- Response
- Strava::Models::DetailedSegment
- Includes:
- Mixins::Distance, Mixins::TotalElevationGain
- Defined in:
- lib/strava/models/detailed_segment.rb
Overview
Represents detailed information about a Strava segment.
Segments are specific sections of road or trail where athletes can compete for best times. This model contains comprehensive segment information including location, elevation profile, statistics, and the athlete's personal records.
Includes helper mixins for formatting distance and elevation.
Instance Method Summary collapse
-
#activity_type ⇒ String
Activity type ('Ride' or 'Run').
-
#athlete_count ⇒ Integer
Total number of unique athletes who have attempted this segment.
-
#athlete_pr_effort ⇒ SummaryPRSegmentEffort?
The authenticated athlete's PR on this segment.
-
#athlete_segment_stats ⇒ SummarySegmentEffort?
The authenticated athlete's statistics on this segment.
-
#average_grade ⇒ Float
Average grade as a percentage.
-
#city ⇒ String?
City where the segment is located.
-
#climb_category ⇒ Integer
Climb category (0 = uncategorized, 1-5 = category climbs, HC = hors catégorie).
-
#country ⇒ String?
Country where the segment is located.
-
#created_at ⇒ Time
When the segment was created.
-
#effort_count ⇒ Integer
Total number of efforts on this segment.
-
#elevation_high ⇒ Float
Highest elevation point in meters.
-
#elevation_low ⇒ Float
Lowest elevation point in meters.
-
#elevation_profile ⇒ String?
Elevation profile data (deprecated, use elevation_profiles).
-
#elevation_profiles ⇒ Array?
Collection of elevation profile data points.
-
#end_latlng ⇒ LatLng
Ending coordinates [latitude, longitude].
-
#hazardous ⇒ Boolean
Whether this segment has been flagged as hazardous.
-
#id ⇒ Integer
Segment ID.
-
#local_legend ⇒ LocalLegend?
Current Local Legend holder for this segment.
-
#map ⇒ Map
Segment map with polyline data.
-
#maximum_grade ⇒ Float
Maximum grade as a percentage.
-
#name ⇒ String
Segment name.
-
#private ⇒ Boolean
Whether this segment is private.
-
#resource_state ⇒ Integer?
Resource state indicator.
-
#star_count ⇒ Integer
Number of athletes who have starred this segment.
-
#starred ⇒ Boolean?
Whether the authenticated athlete has starred this segment.
-
#start_latlng ⇒ LatLng
Starting coordinates [latitude, longitude].
-
#state ⇒ String?
State/province where the segment is located.
-
#updated_at ⇒ Time
When the segment was last updated.
-
#xoms ⇒ Xoms?
QOM/KOM information for this segment.
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::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_type ⇒ String
Returns Activity type ('Ride' or 'Run').
37 |
# File 'lib/strava/models/detailed_segment.rb', line 37 property 'activity_type' |
#athlete_count ⇒ Integer
Returns Total number of unique athletes who have attempted this segment.
95 |
# File 'lib/strava/models/detailed_segment.rb', line 95 property 'athlete_count' |
#athlete_pr_effort ⇒ SummaryPRSegmentEffort?
Returns The authenticated athlete's PR on this segment.
75 |
# File 'lib/strava/models/detailed_segment.rb', line 75 property 'athlete_pr_effort', transform_with: ->(v) { Strava::Models::SummaryPRSegmentEffort.new(v) } |
#athlete_segment_stats ⇒ SummarySegmentEffort?
Returns The authenticated athlete's statistics on this segment.
78 |
# File 'lib/strava/models/detailed_segment.rb', line 78 property 'athlete_segment_stats', transform_with: ->(v) { Strava::Models::SummarySegmentEffort.new(v) } |
#average_grade ⇒ Float
Returns Average grade as a percentage.
42 |
# File 'lib/strava/models/detailed_segment.rb', line 42 property 'average_grade' |
#city ⇒ String?
Returns City where the segment is located.
63 |
# File 'lib/strava/models/detailed_segment.rb', line 63 property 'city' |
#climb_category ⇒ Integer
Returns Climb category (0 = uncategorized, 1-5 = category climbs, HC = hors catégorie).
60 |
# File 'lib/strava/models/detailed_segment.rb', line 60 property 'climb_category' |
#country ⇒ String?
Returns Country where the segment is located.
69 |
# File 'lib/strava/models/detailed_segment.rb', line 69 property 'country' |
#created_at ⇒ Time
Returns When the segment was created.
81 |
# File 'lib/strava/models/detailed_segment.rb', line 81 property 'created_at', transform_with: ->(v) { Time.parse(v) } |
#effort_count ⇒ Integer
Returns Total number of efforts on this segment.
92 |
# File 'lib/strava/models/detailed_segment.rb', line 92 property 'effort_count' |
#elevation_high ⇒ Float
Returns Highest elevation point in meters.
48 |
# File 'lib/strava/models/detailed_segment.rb', line 48 property 'elevation_high' |
#elevation_low ⇒ Float
Returns Lowest elevation point in meters.
51 |
# File 'lib/strava/models/detailed_segment.rb', line 51 property 'elevation_low' |
#elevation_profile ⇒ String?
Undocumented in official API
Returns Elevation profile data (deprecated, use elevation_profiles).
109 |
# File 'lib/strava/models/detailed_segment.rb', line 109 property 'elevation_profile' |
#elevation_profiles ⇒ Array?
Undocumented in official API
Returns Collection of elevation profile data points.
113 |
# File 'lib/strava/models/detailed_segment.rb', line 113 property 'elevation_profiles' |
#end_latlng ⇒ LatLng
Returns Ending coordinates [latitude, longitude].
57 |
# File 'lib/strava/models/detailed_segment.rb', line 57 property 'end_latlng', transform_with: ->(v) { Strava::Models::LatLng.new(v) } |
#hazardous ⇒ Boolean
Returns Whether this segment has been flagged as hazardous.
98 |
# File 'lib/strava/models/detailed_segment.rb', line 98 property 'hazardous' |
#id ⇒ Integer
Returns Segment ID.
31 |
# File 'lib/strava/models/detailed_segment.rb', line 31 property 'id' |
#local_legend ⇒ LocalLegend?
Undocumented in official API
Returns Current Local Legend holder for this segment.
125 |
# File 'lib/strava/models/detailed_segment.rb', line 125 property 'local_legend', transform_with: ->(v) { Strava::Models::LocalLegend.new(v) } |
#map ⇒ Map
Returns Segment map with polyline data.
89 |
# File 'lib/strava/models/detailed_segment.rb', line 89 property 'map', transform_with: ->(v) { Strava::Models::Map.new(v) } |
#maximum_grade ⇒ Float
Returns Maximum grade as a percentage.
45 |
# File 'lib/strava/models/detailed_segment.rb', line 45 property 'maximum_grade' |
#name ⇒ String
Returns Segment name.
34 |
# File 'lib/strava/models/detailed_segment.rb', line 34 property 'name' |
#private ⇒ Boolean
Returns Whether this segment is private.
72 |
# File 'lib/strava/models/detailed_segment.rb', line 72 property 'private' |
#resource_state ⇒ Integer?
Undocumented in official API
Returns Resource state indicator.
105 |
# File 'lib/strava/models/detailed_segment.rb', line 105 property 'resource_state' |
#star_count ⇒ Integer
Returns Number of athletes who have starred this segment.
101 |
# File 'lib/strava/models/detailed_segment.rb', line 101 property 'star_count' |
#starred ⇒ Boolean?
Undocumented in official API
Returns Whether the authenticated athlete has starred this segment.
117 |
# File 'lib/strava/models/detailed_segment.rb', line 117 property 'starred' |
#start_latlng ⇒ LatLng
Returns Starting coordinates [latitude, longitude].
54 |
# File 'lib/strava/models/detailed_segment.rb', line 54 property 'start_latlng', transform_with: ->(v) { Strava::Models::LatLng.new(v) } |
#state ⇒ String?
Returns State/province where the segment is located.
66 |
# File 'lib/strava/models/detailed_segment.rb', line 66 property 'state' |
#updated_at ⇒ Time
Returns When the segment was last updated.
84 |
# File 'lib/strava/models/detailed_segment.rb', line 84 property 'updated_at', transform_with: ->(v) { Time.parse(v) } |