Class: GarminConnect::Metric
- Inherits:
-
Object
- Object
- GarminConnect::Metric
- Defined in:
- lib/garmin_connect/activity.rb
Instance Attribute Summary collapse
-
#custom_data ⇒ Object
Returns the value of attribute custom_data.
-
#data ⇒ Object
Returns the value of attribute data.
-
#multipled_hum ⇒ Object
Returns the value of attribute multipled_hum.
-
#multipled_temp ⇒ Object
Returns the value of attribute multipled_temp.
-
#seconds ⇒ Object
Returns the value of attribute seconds.
Class Method Summary collapse
-
.init_multiple(metrics, data_types) ⇒ Object
@@order = %w{ longitude hr hr_zone hr_percent latitude timestamp speed pace elevation distance elapsed_duration sum_duration moving_duration } def position(what = nil) @@order.index(what) end.
Instance Method Summary collapse
-
#initialize(arr, data_types) ⇒ Metric
constructor
A new instance of Metric.
- #latlong ⇒ Object
- #method_missing(method, *args) ⇒ Object
- #time ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(arr, data_types) ⇒ Metric
Returns a new instance of Metric.
32 33 34 35 36 |
# File 'lib/garmin_connect/activity.rb', line 32 def initialize(arr, data_types) @data_types = data_types @custom_data = {} @data = arr end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args) ⇒ Object
40 41 42 |
# File 'lib/garmin_connect/activity.rb', line 40 def method_missing(method, *args) @data[@data_types.index(method.to_s)] end |
Instance Attribute Details
#custom_data ⇒ Object
Returns the value of attribute custom_data.
14 15 16 |
# File 'lib/garmin_connect/activity.rb', line 14 def custom_data @custom_data end |
#data ⇒ Object
Returns the value of attribute data.
14 15 16 |
# File 'lib/garmin_connect/activity.rb', line 14 def data @data end |
#multipled_hum ⇒ Object
Returns the value of attribute multipled_hum.
14 15 16 |
# File 'lib/garmin_connect/activity.rb', line 14 def multipled_hum @multipled_hum end |
#multipled_temp ⇒ Object
Returns the value of attribute multipled_temp.
14 15 16 |
# File 'lib/garmin_connect/activity.rb', line 14 def multipled_temp @multipled_temp end |
#seconds ⇒ Object
Returns the value of attribute seconds.
14 15 16 |
# File 'lib/garmin_connect/activity.rb', line 14 def seconds @seconds end |
Class Method Details
.init_multiple(metrics, data_types) ⇒ Object
@@order = %w{ longitude hr hr_zone hr_percent latitude timestamp speed pace elevation distance elapsed_duration sum_duration moving_duration } def position(what = nil)
@@order.index(what)
end
59 60 61 |
# File 'lib/garmin_connect/activity.rb', line 59 def init_multiple(metrics, data_types) metrics.map{ |hash| new(hash['metrics'], data_types) } end |
Instance Method Details
#latlong ⇒ Object
43 44 45 |
# File 'lib/garmin_connect/activity.rb', line 43 def latlong [latitude, longitude] end |
#time ⇒ Object
37 38 39 |
# File 'lib/garmin_connect/activity.rb', line 37 def time Time.at(directTimestamp / 1000) end |
#to_s ⇒ Object
46 47 48 |
# File 'lib/garmin_connect/activity.rb', line 46 def to_s inspect end |