Class: I2lStringData
- Inherits:
-
BinData::BasePrimitive
- Object
- BinData::BasePrimitive
- I2lStringData
- Defined in:
- lib/ip2location_ruby/i2l_string_data.rb
Instance Method Summary collapse
Instance Method Details
#read_and_return_value(io) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# 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 |