Class: Strava::Models::ClubEvent

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

Overview

Represents a club group event or ride.

Club events are organized group activities where club members can join to ride, run, or participate together. Events can be recurring and may include a specific route.

Examples:

List club events

events = client.club_events(12345)
events.each do |event|
  puts event.title
  puts event.description
  puts "Organized by: #{event.organizing_athlete.name}"
  puts "Activity type: #{event.activity_type}"
  puts "Next occurrence: #{event.upcoming_occurrences.first}"
  puts event.strava_url
end

See Also:

  • Api::Client#club_events

Instance Method Summary collapse

Instance Method Details

#activity_typeString

Returns Type of activity (e.g., "Ride", "Run").

Returns:

  • (String)

    Type of activity (e.g., "Ride", "Run")



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

property 'activity_type'

#addressString

Returns Event meeting address.

Returns:

  • (String)

    Event meeting address



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

property 'address'

#clubSummaryClub

Returns The club hosting this event.

Returns:



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

property 'club', transform_with: ->(c) { Strava::Models::SummaryClub.new(c) }

#club_idInteger

Returns Club identifier.

Returns:

  • (Integer)

    Club identifier



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

property 'club_id'

#created_atTime

Returns When the event was created.

Returns:

  • (Time)

    When the event was created



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

property 'created_at', transform_with: ->(v) { Time.parse(v) if v&.length&.positive? }

#descriptionString

Returns Event description.

Returns:

  • (String)

    Event description



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

property 'description'

#idInteger

Returns Event identifier.

Returns:

  • (Integer)

    Event identifier



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

property 'id'

#joinedBoolean

Returns Whether authenticated athlete has joined this event.

Returns:

  • (Boolean)

    Whether authenticated athlete has joined this event



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

property 'joined'

#organizing_athleteSummaryAthlete

Returns Athlete organizing the event.

Returns:



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

property 'organizing_athlete', transform_with: ->(oa) { Strava::Models::SummaryAthlete.new(oa) }

#privateBoolean

Returns Whether event is private.

Returns:

  • (Boolean)

    Whether event is private



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

property 'private'

#resource_stateInteger

Returns Resource state indicator.

Returns:

  • (Integer)

    Resource state indicator



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

property 'resource_state'

#routeRoute?

Returns Associated route details.

Returns:

  • (Route, nil)

    Associated route details



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

property 'route', transform_with: ->(r) { Strava::Models::Route.new(r) }

#route_idInteger?

Returns Associated route identifier.

Returns:

  • (Integer, nil)

    Associated route identifier



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

property 'route_id'

#skill_levelsArray<Integer>

Returns Skill levels for participants (0-5 scale).

Returns:

  • (Array<Integer>)

    Skill levels for participants (0-5 scale)



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

property 'skill_levels'

#start_latlngLatLng

Returns Starting location coordinates.

Returns:

  • (LatLng)

    Starting location coordinates



84
# File 'lib/strava/models/club_event.rb', line 84

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

#strava_urlString

Returns the Strava web URL for this event.

Returns:

  • (String)

    Full URL to view the event on Strava.com



91
92
93
# File 'lib/strava/models/club_event.rb', line 91

def strava_url
  "https://www.strava.com/clubs/#{club_id}/group_events/#{id}"
end

#terrainArray<Integer>

Returns Terrain types (e.g., road, trail, mixed).

Returns:

  • (Array<Integer>)

    Terrain types (e.g., road, trail, mixed)



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

property 'terrain'

#titleString

Returns Event title.

Returns:

  • (String)

    Event title



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

property 'title'

#upcoming_occurrencesArray<Time>

Returns Upcoming scheduled occurrences of this event.

Returns:

  • (Array<Time>)

    Upcoming scheduled occurrences of this event



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

property 'upcoming_occurrences', transform_with: ->(upcoming) { upcoming.map { |o| Time.parse(o) } }

#women_onlyBoolean

Returns Whether event is for women only.

Returns:

  • (Boolean)

    Whether event is for women only



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

property 'women_only'

#zoneString

Returns Timezone for the event.

Returns:

  • (String)

    Timezone for the event



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

property 'zone'