Class: Strava::StreamSet
- Inherits:
-
Object
- Object
- Strava::StreamSet
- Defined in:
- lib/strava/stream_set.rb
Instance Attribute Summary collapse
-
#data ⇒ Object
readonly
Class to contain Strava Streams http://strava.github.io/api/v3/streams/.
-
#type ⇒ Object
readonly
Class to contain Strava Streams http://strava.github.io/api/v3/streams/.
Instance Method Summary collapse
- #all ⇒ Object
- #all2 ⇒ Object
- #altitude ⇒ Object
- #cadence ⇒ Object
- #distance ⇒ Object
- #empty? ⇒ Boolean
- #grade_smooth ⇒ Object
- #heartrate ⇒ Object
-
#initialize(data = {}) ⇒ StreamSet
constructor
A new instance of StreamSet.
- #latlng ⇒ Object
- #moving ⇒ Object
- #temp ⇒ Object
- #time ⇒ Object
- #update(data, **opts) ⇒ Object
- #velocity_smooth ⇒ Object
- #watts ⇒ Object
Constructor Details
#initialize(data = {}) ⇒ StreamSet
Returns a new instance of StreamSet.
7 8 9 10 |
# File 'lib/strava/stream_set.rb', line 7 def initialize(data = {}) @streams = {} update(data) end |
Instance Attribute Details
#data ⇒ Object (readonly)
Class to contain Strava Streams http://strava.github.io/api/v3/streams/
6 7 8 |
# File 'lib/strava/stream_set.rb', line 6 def data @data end |
#type ⇒ Object (readonly)
Class to contain Strava Streams http://strava.github.io/api/v3/streams/
6 7 8 |
# File 'lib/strava/stream_set.rb', line 6 def type @type end |
Instance Method Details
#all ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/strava/stream_set.rb', line 12 def all size = @streams.values.first.size size.times.map do |i| @streams.map do |type, stream| [type, stream[i]] end.to_h end end |
#all2 ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/strava/stream_set.rb', line 21 def all2 size = @streams.values.first.size size.times.map do |i| @streams.map do |type, stream| { type => stream[i] } end.inject(:merge) end end |
#altitude ⇒ Object
48 |
# File 'lib/strava/stream_set.rb', line 48 def altitude; @streams['altitude']; end |
#cadence ⇒ Object
51 |
# File 'lib/strava/stream_set.rb', line 51 def cadence; @streams['cadence']; end |
#distance ⇒ Object
47 |
# File 'lib/strava/stream_set.rb', line 47 def distance; @streams['distance']; end |
#empty? ⇒ Boolean
30 31 32 |
# File 'lib/strava/stream_set.rb', line 30 def empty? @streams.empty? end |
#grade_smooth ⇒ Object
55 |
# File 'lib/strava/stream_set.rb', line 55 def grade_smooth; @streams['grade_smooth']; end |
#heartrate ⇒ Object
50 |
# File 'lib/strava/stream_set.rb', line 50 def heartrate; @streams['heartrate']; end |
#latlng ⇒ Object
46 |
# File 'lib/strava/stream_set.rb', line 46 def latlng; @streams['latlng']; end |
#moving ⇒ Object
54 |
# File 'lib/strava/stream_set.rb', line 54 def moving; @streams['moving']; end |
#temp ⇒ Object
53 |
# File 'lib/strava/stream_set.rb', line 53 def temp; @streams['temp']; end |
#time ⇒ Object
45 |
# File 'lib/strava/stream_set.rb', line 45 def time; @streams['time']; end |
#update(data, **opts) ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/strava/stream_set.rb', line 34 def update(data, **opts) @response = data data.each do |stream_data| stream = Stream.new(stream_data) @streams[stream.type] = stream end self end |
#velocity_smooth ⇒ Object
49 |
# File 'lib/strava/stream_set.rb', line 49 def velocity_smooth; @streams['velocity_smooth']; end |
#watts ⇒ Object
52 |
# File 'lib/strava/stream_set.rb', line 52 def watts; @streams['watts']; end |