class Strava::Segment
Attributes
leaderboard[R]
Class to represent Strava
Activity
strava.github.io/api/v3/activities/ Your code goes hereā¦
Public Class Methods
explorer(client, bounds = '37.821362,-122.505373,37.842038,-122.465977')
click to toggle source
# File lib/strava/segment.rb, line 81 def self.explorer(client, bounds = '37.821362,-122.505373,37.842038,-122.465977') res = client.get("segments/explore", bounds: bounds).to_h res['segments'].map { |hash| new(hash, client: client) } end
Public Instance Methods
efforts(per_page: nil, page: nil, **params)
click to toggle source
# File lib/strava/segment.rb, line 22 def efforts(per_page: nil, page: nil, **params) # paginate('efforts', struct: Array, per_page: per_page, page: page) if page || per_page || !params.empty? get_efforts(per_page: per_page, page: page, **params) else get_efforts if @efforts.empty? @efforts.values end end
get_details()
click to toggle source
# File lib/strava/segment.rb, line 47 def get_details return self if detailed? res = client.get(path_base).to_h update(res) res end
get_streams(types = '', **params)
click to toggle source
# File lib/strava/segment.rb, line 54 def get_streams(types = '', **params) res = client.get(path_streams + types.join(','), **params).to_a @streams.update(res) end
path_base()
click to toggle source
# File lib/strava/segment.rb, line 65 def path_base "segments/#{id}" end
path_efforts()
click to toggle source
# File lib/strava/segment.rb, line 69 def path_efforts "#{path_base}/all_efforts" end
path_star()
click to toggle source
# File lib/strava/segment.rb, line 73 def path_star "#{path_base}/starred" end
path_streams()
click to toggle source
# File lib/strava/segment.rb, line 77 def path_streams "#{path_base}/streams/" end
set_ivars()
click to toggle source
# File lib/strava/segment.rb, line 8 def set_ivars @efforts = {} @streams = StreamSet.new end
star()
click to toggle source
don't know if this really works or not. doesn't seem to work
# File lib/strava/segment.rb, line 33 def star res = client.put(path_star, star: true).to_h end
streams(types = [:distance, :altitude, :latlng], **params)
click to toggle source
# File lib/strava/segment.rb, line 41 def streams(types = [:distance, :altitude, :latlng], **params) get_streams(types, **params) if @streams.empty? @streams end
unstar()
click to toggle source
# File lib/strava/segment.rb, line 37 def unstar res = client.put(path_star, star: false).to_h end
update(data, **opts)
click to toggle source
# File lib/strava/segment.rb, line 16 def update(data, **opts) @response = data @id = data["id"] @resource_state = data['resource_state'] end
Private Instance Methods
get_efforts(per_page: nil, page: nil)
click to toggle source
# File lib/strava/segment.rb, line 60 def get_efforts(per_page: nil, page: nil) res = client.get(path_efforts, per_page: per_page, page: page).to_a parse_data(@efforts, res, klass: SegmentEffort, client: @client) end