Class: Fit4Ruby::SensorSettings

Inherits:
FitDataRecord show all
Defined in:
lib/fit4ruby/SensorSettings.rb

Constant Summary

Constants inherited from FitDataRecord

FitDataRecord::RecordOrder

Constants included from BDFieldNameTranslator

BDFieldNameTranslator::BD_DICT

Instance Attribute Summary

Attributes inherited from FitDataRecord

#message, #timestamp

Instance Method Summary collapse

Methods inherited from FitDataRecord

#==, #export, #get, #get_as, #get_unit_by_name, #set, #set_field_values, #write

Methods included from BDFieldNameTranslator

#to_bd_field_name

Methods included from Converters

#conversion_factor, #fit_time_to_time, #secsToDHMS, #secsToHM, #secsToHMS, #speedToPace, #time_to_fit_time

Constructor Details

#initialize(field_values = {}) ⇒ SensorSettings

Returns a new instance of SensorSettings.



19
20
21
22
# File 'lib/fit4ruby/SensorSettings.rb', line 19

def initialize(field_values = {})
  super('sensor_settings')
  set_field_values(field_values)
end

Instance Method Details

#<=>(fdr) ⇒ Object

Ensure that FitDataRecords have a deterministic sequence. Sensor settings are sorted by message_index.



26
27
28
29
30
31
32
33
# File 'lib/fit4ruby/SensorSettings.rb', line 26

def <=>(fdr)
  @timestamp == fdr.timestamp ?
    @message.name == fdr.message.name ?
      @message_index <=> fdr.message_index :
      RecordOrder.index(@message.name) <=>
        RecordOrder.index(fdr.message.name) :
    @timestamp <=> fdr.timestamp
end

#check(index) ⇒ Object



35
36
37
38
39
# File 'lib/fit4ruby/SensorSettings.rb', line 35

def check(index)
  unless @message_index
    Log.fatal 'sensor setting record must have a message_index'
  end
end