class I2lStringData
Public Instance Methods
read_and_return_value(io)
click to toggle source
# File lib/ip2location_ruby/i2l_string_data.rb, line 3 def read_and_return_value(io) country_long = eval_parameter(:country_long) io.seekbytes(-4) if country_long file = io.instance_variable_get('@raw_io') addr = BinData::Uint32le.read(io) old_offset = file.tell country_long ? file.seek(addr + 3) : file.seek(addr) length = BinData::Uint8.read(file) res = BinData::String.new(:length => length).read(file) file.seek(old_offset) res end