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.4'
Class Method Summary
collapse
Class Method Details
.available_records ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/fitreader.rb', line 14
def self.available_records
@f.messages
.select { |_,v| !v.any? { |z| z.definition.name.nil? } }
.select { |_,v| !v.any? { |z| z.records.length.zero? } }
.collect { |x| [x[0], x[1].first.definition.name, x[1].collect(&:records).flatten.length] }
.sort
end
|
.error_fields(filter) ⇒ Object
42
43
44
45
|
# File 'lib/fitreader.rb', line 42
def self.error_fields(filter)
message = get_message_type filter
message.collect(&:error_fields).flatten
end
|
.error_messages ⇒ Object
38
39
40
|
# File 'lib/fitreader.rb', line 38
def self.error_messages
@f.messages.select { |_, v| !v.any? { |x| x.undefined_records.empty? } }
end
|
.get_message_type(filter) ⇒ Object
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/fitreader.rb', line 22
def self.get_message_type(filter)
if filter.is_a?(Symbol)
res = @f.messages.find { |_,y| y.any? { |z| z.definition.name == filter } }
res[1] unless res.nil?
elsif filter.is_a?(Integer)
@f.messages[filter]
else
raise ArgumentError, 'needs a string or a symbol'
end
end
|
10
11
12
|
# File 'lib/fitreader.rb', line 10
def self.
@f.
end
|
.read(path) ⇒ Object
6
7
8
|
# File 'lib/fitreader.rb', line 6
def self.read(path)
@f = FitFile.new(path)
end
|
.record_values(filter) ⇒ Object
33
34
35
36
|
# File 'lib/fitreader.rb', line 33
def self.record_values(filter)
message = get_message_type filter
message.collect(&:record_values).flatten
end
|