Module: Fitreader
- Defined in:
- lib/fitreader.rb,
lib/fitreader/errors.rb,
lib/fitreader/record.rb,
lib/fitreader/static.rb,
lib/fitreader/fitfile.rb,
lib/fitreader/version.rb,
lib/fitreader/definition.rb,
lib/fitreader/field_data.rb,
lib/fitreader/message_type.rb,
lib/fitreader/record_header.rb,
lib/fitreader/degraded_record.rb,
lib/fitreader/field_definition.rb
Defined Under Namespace
Classes: Definition, DegradedRecord, FieldData, FieldDefinition, FitFile, MessageType, Record, RecordHeader, Static, UnknownFieldTypeError, UnknownMessageTypeError
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Class Method Details
.available_records ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/fitreader.rb', line 15
def self.available_records
@f.messages
.select { |x,y| !y.definition.name.nil? }
.select { |x,y| !y.records.length.zero? }
.collect { |x| [x[0], x[1].definition.name, x[1].records.length] }
.sort
end
|
.error_fields(filter) ⇒ Object
44
45
46
47
|
# File 'lib/fitreader.rb', line 44
def self.error_fields(filter)
message = get_message_type filter
message.records.select{|x| !x.error_fields.empty?}.collect{|y| y.error_fields}
end
|
.error_messages ⇒ Object
40
41
42
|
# File 'lib/fitreader.rb', line 40
def self.error_messages
@f.messages.select { |_,v| !v.undefined_records.empty? }
end
|
.get_message_type(filter) ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/fitreader.rb', line 23
def self.get_message_type(filter)
if filter.is_a?(Symbol)
res = @f.messages.find { |_,y| y.definition.name == filter}
res[1] unless res.nil?
binding.pry
elsif filter.is_a?(Integer)
@f.messages[filter]
else
raise ArgumentError, "needs a string or a symbol"
end
end
|
11
12
13
|
# File 'lib/fitreader.rb', line 11
def self.
@f.
end
|
.read(path) ⇒ Object
7
8
9
|
# File 'lib/fitreader.rb', line 7
def self.read(path)
@f = FitFile.new(path)
end
|
.record_values(filter) ⇒ Object
35
36
37
38
|
# File 'lib/fitreader.rb', line 35
def self.record_values(filter)
message = get_message_type filter
message.records.collect {|x| x.fields.values.collect{|z| [z.name, z.value]}}.collect{|y| y.to_h}
end
|