Class: Fit::FitProtocol

Inherits:
Object
  • Object
show all
Defined in:
lib/fit/fit_protocol.rb

Class Method Summary collapse

Class Method Details

.format_number(size) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/fit/fit_protocol.rb', line 51

def FitProtocol.format_number(size)
  number_of_zeros = 10 - size.to_s.size
  formatted_value = ""
  number_of_zeros.times do
    formatted_value << '0'
  end
  formatted_value << size.to_s
  return formatted_value
end

.read(bytes, input) ⇒ Object



12
13
14
15
# File 'lib/fit/fit_protocol.rb', line 12

def FitProtocol.read(bytes, input)
  value = input.read(bytes)
  return value
end

.read_counts(input) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/fit/fit_protocol.rb', line 22

def FitProtocol.read_counts(input)
  counts = Counts.new
  counts.right = FitProtocol.read_size(input)
  counts.wrong = FitProtocol.read_size(input)
  counts.ignores = FitProtocol.read_size(input)
  counts.exceptions = FitProtocol.read_size(input)
  return counts
end

.read_document(input) ⇒ Object



17
18
19
20
# File 'lib/fit/fit_protocol.rb', line 17

def FitProtocol.read_document(input)
  byte_count = read_size(input)
  return read(byte_count, input)
end

.read_size(input) ⇒ Object



7
8
9
10
# File 'lib/fit/fit_protocol.rb', line 7

def FitProtocol.read_size(input)
  str_value = read(10, input)
  return str_value.to_i
end

.write_counts(counts, output) ⇒ Object



43
44
45
46
47
48
49
# File 'lib/fit/fit_protocol.rb', line 43

def FitProtocol.write_counts(counts, output)
  FitProtocol.write_size(0, output)
  FitProtocol.write_size(counts.right, output)
  FitProtocol.write_size(counts.wrong, output)
  FitProtocol.write_size(counts.ignores, output)
  FitProtocol.write_size(counts.exceptions, output)
end

.write_document(document, output) ⇒ Object



37
38
39
40
41
# File 'lib/fit/fit_protocol.rb', line 37

def FitProtocol.write_document(document, output)
  FitProtocol.write_size(document.size, output)
  output.write(document)
  output.flush
end

.write_size(size, output) ⇒ Object



31
32
33
34
35
# File 'lib/fit/fit_protocol.rb', line 31

def FitProtocol.write_size(size, output)
  formatted_size = FitProtocol.format_number(size)
  output.write(formatted_size) 
  output.flush
end