class DataField

Constants

TYPES

Attributes

raw[R]
valid[R]

Public Class Methods

new(io, options) click to toggle source
# File lib/fitreader/data_field.rb, line 24
def initialize(io, options)
  base_num = options[:base_num]
  size = options[:size]
  arch = options[:arch]

  base = TYPES[base_num]
  char = base[:unpack_type]
  char = char[arch] if char.is_a?(Hash)
  @raw = read_multiple(io, char, size, base[:size])
  @valid = check(@raw, base[:invalid])
end

Public Instance Methods

check(raw, invalid) click to toggle source
# File lib/fitreader/data_field.rb, line 36
def check(raw, invalid)
  if raw.is_a? Array
    raw.any? { |e| e != invalid }
  else
    raw != invalid
  end
end