Method: RQRCode::QRUtil.get_length_in_bits

Defined in:
lib/rqrcode/qrcode/qr_util.rb

.get_length_in_bits(mode, version) ⇒ Object



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'lib/rqrcode/qrcode/qr_util.rb', line 135

def QRUtil.get_length_in_bits(mode, version)
  if !QRMODE.value?(mode)
      raise QRCodeRunTimeError, "Unknown mode: #{mode}"
  end

  if version > 40
    raise QRCodeRunTimeError, "Unknown version: #{version}"
  end

  if version.between?(1, 9)
    # 1 - 9
    macro_version = 0
  elsif version <= 26
    # 10 - 26
    macro_version = 1
  elsif version <= 40
    # 27 - 40
    macro_version = 2
  end

  return BITS_FOR_MODE[mode][macro_version]
end