Class: Fit4Ruby::GlobalFitMessage

Inherits:
Object
  • Object
show all
Defined in:
lib/fit4ruby/GlobalFitMessage.rb

Defined Under Namespace

Classes: Field

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, number) ⇒ GlobalFitMessage

Returns a new instance of GlobalFitMessage.



105
106
107
108
109
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 105

def initialize(name, number)
  @name = name
  @number = number
  @fields = {}
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



20
21
22
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 20

def fields
  @fields
end

#nameObject (readonly)

Returns the value of attribute name.



20
21
22
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 20

def name
  @name
end

#numberObject (readonly)

Returns the value of attribute number.



20
21
22
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 20

def number
  @number
end

Instance Method Details

#field(number, type, name, opts = {}) ⇒ Object



111
112
113
114
115
116
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 111

def field(number, type, name, opts = {})
  if @fields.include?(number)
    raise "Field #{number} has already been defined"
  end
  @fields[number] = Field.new(type, name, opts)
end

#write(io, local_message_type) ⇒ Object



118
119
120
121
122
123
124
125
126
127
128
129
# File 'lib/fit4ruby/GlobalFitMessage.rb', line 118

def write(io, local_message_type)
  header = FitRecordHeader.new
  header.normal = 0
  header.message_type = 1
  header.local_message_type = local_message_type
  header.write(io)

  definition = FitDefinition.new
  definition.global_message_number = @number
  definition.setup(self)
  definition.write(io)
end