Class: GarminConnect::Metric

Inherits:
Object
  • Object
show all
Defined in:
lib/garmin_connect/activity.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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_dataObject

Returns the value of attribute custom_data.



14
15
16
# File 'lib/garmin_connect/activity.rb', line 14

def custom_data
  @custom_data
end

#dataObject

Returns the value of attribute data.



14
15
16
# File 'lib/garmin_connect/activity.rb', line 14

def data
  @data
end

#multipled_humObject

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_tempObject

Returns the value of attribute multipled_temp.



14
15
16
# File 'lib/garmin_connect/activity.rb', line 14

def multipled_temp
  @multipled_temp
end

#secondsObject

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

#latlongObject



43
44
45
# File 'lib/garmin_connect/activity.rb', line 43

def latlong
  [latitude, longitude]
end

#timeObject



37
38
39
# File 'lib/garmin_connect/activity.rb', line 37

def time
  Time.at(directTimestamp / 1000)
end

#to_sObject



46
47
48
# File 'lib/garmin_connect/activity.rb', line 46

def to_s
  inspect
end