Class: Strava::Models::DetailedAthlete

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

Overview

Represents detailed information about a Strava athlete.

Contains comprehensive profile information including personal details, preferences, gear, clubs, and social connections. This model is typically returned when accessing the authenticated athlete's own profile.

Examples:

Get athlete profile

athlete = client.athlete
puts athlete.name
puts "Location: #{athlete.city}, #{athlete.state}, #{athlete.country}"
puts "Premium: #{athlete.premium}"
puts "Weight: #{athlete.weight}kg"
puts athlete.strava_url

See Also:

Instance Method Summary collapse

Instance Method Details

#athlete_typeInteger?

Note:

Undocumented in official API

Returns Athlete type identifier (0 = Cyclist, 1 = Runner).

Returns:

  • (Integer, nil)

    Athlete type identifier (0 = Cyclist, 1 = Runner)



124
# File 'lib/strava/models/detailed_athlete.rb', line 124

property 'athlete_type'

#badge_type_idInteger?

Note:

Undocumented in official API

Returns Badge type identifier.

Returns:

  • (Integer, nil)

    Badge type identifier



100
# File 'lib/strava/models/detailed_athlete.rb', line 100

property 'badge_type_id'

#bikesArray<SummaryGear>

Returns Bikes registered to this athlete.

Returns:

  • (Array<SummaryGear>)

    Bikes registered to this athlete



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

property 'bikes', transform_with: ->(v) { v.map { |r| Strava::Models::SummaryGear.new(r) } }

#bioString?

Note:

Undocumented in official API

Returns Athlete bio/description.

Returns:

  • (String, nil)

    Athlete bio/description



96
# File 'lib/strava/models/detailed_athlete.rb', line 96

property 'bio'

#blockedBoolean?

Note:

Undocumented in official API

Returns Whether this athlete is blocked by the authenticated athlete.

Returns:

  • (Boolean, nil)

    Whether this athlete is blocked by the authenticated athlete



112
# File 'lib/strava/models/detailed_athlete.rb', line 112

property 'blocked'

#can_followBoolean?

Note:

Undocumented in official API

Returns Whether the authenticated athlete can follow this athlete.

Returns:

  • (Boolean, nil)

    Whether the authenticated athlete can follow this athlete



116
# File 'lib/strava/models/detailed_athlete.rb', line 116

property 'can_follow'

#cityString?

Returns City.

Returns:

  • (String, nil)

    City



43
# File 'lib/strava/models/detailed_athlete.rb', line 43

property 'city'

#clubsArray<SummaryClub>

Returns Clubs the athlete belongs to.

Returns:

  • (Array<SummaryClub>)

    Clubs the athlete belongs to



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

property 'clubs', transform_with: ->(v) { v.map { |r| Strava::Models::SummaryClub.new(r) } }

#countryString?

Returns Country.

Returns:

  • (String, nil)

    Country



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

property 'country'

#created_atTime

Returns When the athlete account was created.

Returns:

  • (Time)

    When the athlete account was created



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

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

#date_preferenceString?

Note:

Undocumented in official API

Returns Preferred date format.

Returns:

  • (String, nil)

    Preferred date format



128
# File 'lib/strava/models/detailed_athlete.rb', line 128

property 'date_preference'

#firstnameString

Returns First name.

Returns:

  • (String)

    First name



31
# File 'lib/strava/models/detailed_athlete.rb', line 31

property 'firstname'

#followerString?

Note:

Undocumented in official API

Returns Follower relationship status.

Returns:

  • (String, nil)

    Follower relationship status



108
# File 'lib/strava/models/detailed_athlete.rb', line 108

property 'follower'

#follower_countInteger

Returns Number of followers.

Returns:

  • (Integer)

    Number of followers



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

property 'follower_count'

#friendString?

Note:

Undocumented in official API

Returns Relationship status with authenticated athlete ('pending', 'accepted', 'blocked', or nil).

Returns:

  • (String, nil)

    Relationship status with authenticated athlete ('pending', 'accepted', 'blocked', or nil)



104
# File 'lib/strava/models/detailed_athlete.rb', line 104

property 'friend'

#friend_countInteger

Returns Number of friends (mutual follows).

Returns:

  • (Integer)

    Number of friends (mutual follows)



70
# File 'lib/strava/models/detailed_athlete.rb', line 70

property 'friend_count'

#ftpInteger?

Returns Functional Threshold Power in watts.

Returns:

  • (Integer, nil)

    Functional Threshold Power in watts



76
# File 'lib/strava/models/detailed_athlete.rb', line 76

property 'ftp'

#idInteger

Returns Athlete ID.

Returns:

  • (Integer)

    Athlete ID



25
# File 'lib/strava/models/detailed_athlete.rb', line 25

property 'id'

#lastnameString

Returns Last name.

Returns:

  • (String)

    Last name



34
# File 'lib/strava/models/detailed_athlete.rb', line 34

property 'lastname'

#measurement_preferenceString

Returns Preferred measurement system ('feet' or 'meters').

Returns:

  • (String)

    Preferred measurement system ('feet' or 'meters')



73
# File 'lib/strava/models/detailed_athlete.rb', line 73

property 'measurement_preference'

#mutual_friend_countInteger?

Note:

Undocumented in official API

Returns Number of mutual friends with the authenticated athlete.

Returns:

  • (Integer, nil)

    Number of mutual friends with the authenticated athlete



120
# File 'lib/strava/models/detailed_athlete.rb', line 120

property 'mutual_friend_count'

#nameString?

Returns the athlete's full name.

Returns:

  • (String, nil)

    Full name combining firstname and lastname, or nil if neither exists



139
140
141
# File 'lib/strava/models/detailed_athlete.rb', line 139

def name
  [firstname, lastname].compact.join(' ') if firstname || lastname
end

#postable_clubs_countInteger?

Note:

Undocumented in official API

Returns Number of clubs where athlete can post.

Returns:

  • (Integer, nil)

    Number of clubs where athlete can post



132
# File 'lib/strava/models/detailed_athlete.rb', line 132

property 'postable_clubs_count'

#premiumBoolean

Returns Whether the athlete has a premium subscription.

Returns:

  • (Boolean)

    Whether the athlete has a premium subscription



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

property 'premium'

#profileString?

Returns URL to full-sized profile picture.

Returns:

  • (String, nil)

    URL to full-sized profile picture



40
# File 'lib/strava/models/detailed_athlete.rb', line 40

property 'profile'

#profile_mediumString?

Returns URL to medium-sized profile picture.

Returns:

  • (String, nil)

    URL to medium-sized profile picture



37
# File 'lib/strava/models/detailed_athlete.rb', line 37

property 'profile_medium'

#resource_stateInteger

Returns Resource state indicator.

Returns:

  • (Integer)

    Resource state indicator



28
# File 'lib/strava/models/detailed_athlete.rb', line 28

property 'resource_state'

#sexString

Returns Sex ('M' for male, 'F' for female).

Returns:

  • (String)

    Sex ('M' for male, 'F' for female)



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

property 'sex'

#shoesArray<SummaryGear>

Returns Shoes registered to this athlete.

Returns:

  • (Array<SummaryGear>)

    Shoes registered to this athlete



88
# File 'lib/strava/models/detailed_athlete.rb', line 88

property 'shoes', transform_with: ->(v) { v.map { |r| Strava::Models::SummaryGear.new(r) } }

#stateString?

Returns State or province.

Returns:

  • (String, nil)

    State or province



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

property 'state'

#strava_urlString

Returns the Strava web URL for this athlete's profile.

Returns:

  • (String)

    Full URL to view the athlete on Strava.com



148
149
150
# File 'lib/strava/models/detailed_athlete.rb', line 148

def strava_url
  "https://www.strava.com/athletes/#{username || id}"
end

#summitBoolean

Returns Whether the athlete has a Summit subscription.

Returns:

  • (Boolean)

    Whether the athlete has a Summit subscription



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

property 'summit'

#updated_atTime

Returns When the athlete account was last updated.

Returns:

  • (Time)

    When the athlete account was last updated



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

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

#usernameString?

Note:

Undocumented in official API

Returns Username/vanity URL.

Returns:

  • (String, nil)

    Username/vanity URL



92
# File 'lib/strava/models/detailed_athlete.rb', line 92

property 'username'

#weightFloat?

Returns Weight in kilograms.

Returns:

  • (Float, nil)

    Weight in kilograms



79
# File 'lib/strava/models/detailed_athlete.rb', line 79

property 'weight'