Method: ChemScanner::ChemDraw::BaseValue#read_int

Defined in:
lib/chem_scanner/chem_draw/node/base_value.rb

#read_int(data, unsigned) ⇒ Object



172
173
174
175
176
177
178
179
180
181
182
183
184
# File 'lib/chem_scanner/chem_draw/node/base_value.rb', line 172

def read_int(data, unsigned)
  return data.text.to_i if @parser_type == "cdxml"

  type = case data.length
         when 1 then "c"
         when 2 then "s"
         when 4 then "l"
         end

  unsigned = unsigned || false
  type = unsigned ? type.upcase : type.downcase
  data.unpack(type)[0]
end