class DefinitionRecord
Attributes
data_records[R]
dev_defs[R]
field_definitions[R]
global_msg_num[R]
local_num[R]
num_fields[R]
reserved[R]
Public Class Methods
new(io, local_num, dev_field_defs = nil)
click to toggle source
# File lib/fitreader/definition_record.rb, line 7 def initialize(io, local_num, dev_field_defs = nil) @local_num = local_num # read record @reserved = io.readbyte @architecture = io.readbyte char = @architecture.zero? ? 'v' : 'n' @global_msg_num = readbytes(io, char, 2) num_fields = io.readbyte # read fields @field_definitions = Array.new(num_fields) { FieldDefinition.new(io) } unless dev_field_defs.nil? num_fields = io.readbyte @dev_defs = Array.new(num_fields) { DevFieldDefinition.new(io, dev_field_defs) } end @data_records = [] end
Public Instance Methods
endian()
click to toggle source
# File lib/fitreader/definition_record.rb, line 27 def endian @architecture.zero? ? :little : :big end
valid()
click to toggle source
# File lib/fitreader/definition_record.rb, line 31 def valid fd = Sdk.fields(@global_msg_num) return if fd.nil? @data_records.map do |d| d.valid.select { |k, _| fd.keys.include? k }.merge(d.dev_fields) end end