module GeoIP::Tools

Private Instance Methods

check_enum_value(enum, value) click to toggle source
# File lib/ffi-geoip/tools.rb, line 6
def check_enum_value(enum, value)
  enum[value] or
    raise TypeError.new("Couldn't find valid #{enum.tag} value: #{value}")
end
check_type(value, *types) click to toggle source
# File lib/ffi-geoip/tools.rb, line 11
def check_type(value, *types)
  if !types.include?(value.class)
    type_names = types.collect(&:name).join(' or ')

    raise TypeError.new("wrong argument type #{value.class.name} (expected #{type_names})")
  end
end
fix_encoding(hash) click to toggle source
# File lib/ffi-geoip/tools.rb, line 19
def fix_encoding(hash)
  hash.each do |_, value|
    value.encode!('UTF-8', 'ISO-8859-1') if value.is_a?(String)
  end
end