Module: FitParser::File::Types
- Defined in:
- lib/fit_parser/file/types.rb
Class Method Summary collapse
- .add_type(name, type, option = {}) ⇒ Object
- .bitfield_value(bitfield, values, parameters = nil) ⇒ Object
- .date_time_value(time, values, parameters) ⇒ Object
- .get_type_definition(name) ⇒ Object
- .message_index_value(msg_index, values, parameters = nil) ⇒ Object
- .types ⇒ Object
- .types=(value) ⇒ Object
Class Method Details
.add_type(name, type, option = {}) ⇒ Object
12 13 14 |
# File 'lib/fit_parser/file/types.rb', line 12 def self.add_type(name, type, option = {}) Types.types[name] = option.merge(basic_type: type) end |
.bitfield_value(bitfield, values, parameters = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fit_parser/file/types.rb', line 36 def self.bitfield_value(bitfield, values, parameters = nil) res = '' values.each do |key, val| if key & bitfield != 0 res << '/' unless res.empty? res << val end end res end |
.date_time_value(time, values, parameters) ⇒ Object
21 22 23 24 25 26 27 28 29 |
# File 'lib/fit_parser/file/types.rb', line 21 def self.date_time_value(time, values, parameters) val = values.invert if time < val['min'] time.to_s else res= parameters[:utc] ? Time.utc(1989, 12, 31) + time : Time.local(1989, 12, 31) + time res.to_s end end |
.get_type_definition(name) ⇒ Object
16 17 18 19 |
# File 'lib/fit_parser/file/types.rb', line 16 def self.get_type_definition(name) return Types.types[name] if Types.types.has_key?(name) nil end |
.message_index_value(msg_index, values, parameters = nil) ⇒ Object
31 32 33 34 |
# File 'lib/fit_parser/file/types.rb', line 31 def self.(msg_index, values, parameters = nil) val = values.invert msg_index & val['mask'] end |
.types ⇒ Object
8 9 10 |
# File 'lib/fit_parser/file/types.rb', line 8 def self.types @types ||= {} end |
.types=(value) ⇒ Object
4 5 6 |
# File 'lib/fit_parser/file/types.rb', line 4 def self.types=(value) @types = value end |