Class: Fit4Ruby::FitMessageRecord
- Inherits:
-
Object
- Object
- Fit4Ruby::FitMessageRecord
- Defined in:
- lib/fit4ruby/FitMessageRecord.rb
Instance Attribute Summary collapse
-
#global_message_number ⇒ Object
readonly
Returns the value of attribute global_message_number.
-
#message_record ⇒ Object
readonly
Returns the value of attribute message_record.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
-
#initialize(definition) ⇒ FitMessageRecord
constructor
A new instance of FitMessageRecord.
- #read(io, activity, filter = nil, fields_dump = nil) ⇒ Object
Constructor Details
#initialize(definition) ⇒ FitMessageRecord
Returns a new instance of FitMessageRecord.
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/fit4ruby/FitMessageRecord.rb', line 23 def initialize(definition) @definition = definition @global_message_number = definition..snapshot if (@gfm = GlobalFitMessages[@global_message_number]) @name = @gfm.name else @name = "message#{@global_message_number}" Log.warn { "Unknown global message number #{@global_message_number}" } end @message_record = produce(definition) end |
Instance Attribute Details
#global_message_number ⇒ Object (readonly)
Returns the value of attribute global_message_number.
21 22 23 |
# File 'lib/fit4ruby/FitMessageRecord.rb', line 21 def @global_message_number end |
#message_record ⇒ Object (readonly)
Returns the value of attribute message_record.
21 22 23 |
# File 'lib/fit4ruby/FitMessageRecord.rb', line 21 def @message_record end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
21 22 23 |
# File 'lib/fit4ruby/FitMessageRecord.rb', line 21 def name @name end |
Instance Method Details
#read(io, activity, filter = nil, fields_dump = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/fit4ruby/FitMessageRecord.rb', line 36 def read(io, activity, filter = nil, fields_dump = nil) @message_record.read(io) obj = @name == 'activity' ? activity : activity.new_fit_data_record(@name) @definition.fields.each do |field| value = @message_record[field.name].snapshot obj.set(field.name, field.to_machine(value)) if obj if filter && fields_dump && (filter.field_names.nil? || filter.field_names.include?(field.name)) && (value != field.undefined_value || !filter.ignore_undef) fields_dump[field] = value end end end |