Class: NikeV2::Metric
- Inherits:
-
Object
- Object
- NikeV2::Metric
- Defined in:
- lib/nike_v2/metric.rb
Instance Method Summary collapse
- #duration ⇒ Object
- #during(start, stop) ⇒ Object
-
#initialize(activity, data) ⇒ Metric
constructor
A new instance of Metric.
- #total ⇒ Object
- #total_during(start, stop, convert_to_local = false) ⇒ Object
- #type ⇒ Object
- #values ⇒ Object
Constructor Details
#initialize(activity, data) ⇒ Metric
Returns a new instance of Metric.
4 5 6 7 8 9 10 |
# File 'lib/nike_v2/metric.rb', line 4 def initialize(activity, data) @activity = activity @unit = data['intervalUnit'] @type = data ['metricType'] @values = data['values'].collect(&:to_f) self end |
Instance Method Details
#duration ⇒ Object
38 39 40 |
# File 'lib/nike_v2/metric.rb', line 38 def duration @values.length.send(@unit.downcase) end |
#during(start, stop) ⇒ Object
32 33 34 35 36 |
# File 'lib/nike_v2/metric.rb', line 32 def during(start, stop) start_point = time_to_index(start) duration = time_to_index(stop) - start_point @values[start_point, duration] end |
#total ⇒ Object
20 21 22 |
# File 'lib/nike_v2/metric.rb', line 20 def total @total ||= values.inject(:+) end |
#total_during(start, stop, convert_to_local = false) ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/nike_v2/metric.rb', line 24 def total_during(start, stop, convert_to_local = false) if convert_to_local start = @activity.to_tz(start) stop = @activity.to_tz(stop) end during(start, stop).collect(&:to_f).inject(:+) rescue 0 end |
#type ⇒ Object
12 13 14 |
# File 'lib/nike_v2/metric.rb', line 12 def type @type end |
#values ⇒ Object
16 17 18 |
# File 'lib/nike_v2/metric.rb', line 16 def values @values end |