class Strava::Leaderboard

Public Instance Methods

entries()
Alias for: standings
get_details() click to toggle source
# File lib/strava/leaderboard.rb, line 29
def get_details
  return self if detailed?
  res = client.get(path_base).to_h
  update(res)
  res
end
get_standings(per_page: nil, page: nil, **params) click to toggle source
# File lib/strava/leaderboard.rb, line 36
def get_standings(per_page: nil, page: nil, **params)
  res = client.get(path_base, per_page: per_page, page: page, **params).to_h
  update(res)
end
path_base() click to toggle source
# File lib/strava/leaderboard.rb, line 41
def path_base
  "segments/#{@segment_id}/leaderboard"
end
set_ivars() click to toggle source

Class to represent Strava Activity strava.github.io/api/v3/activities/ Your code goes here…

# File lib/strava/leaderboard.rb, line 7
def set_ivars
  @entries      = {}
end
standings() click to toggle source
# File lib/strava/leaderboard.rb, line 11
def standings
  @entries.values.sort { |a, b| a.rank <=> b.rank }
end
Also aliased as: entries
update(data, **opts) click to toggle source
# File lib/strava/leaderboard.rb, line 16
def update(data, **opts)
  @response = data
  @segment_id = data['segment_id'] if data['segment_id']

  @entry_count  = data['entry_count'] if data['entry_count']
  if data['entries']
    data['entries'].each { |hash| hash['id'] = hash['effort_id'] }
    parse_data(@entries, data['entries'], klass: LeaderboardEntry, client: @client)
  end

  self
end