module GeoIP::FFIGeoIP
Constants
- FFI_LAYOUT
Public Class Methods
find_lib(lib)
click to toggle source
# File lib/ffi-geoip.rb, line 51 def self.find_lib(lib) if ENV['GEOIP_LIBRARY_PATH'] && File.file?(ENV['GEOIP_LIBRARY_PATH']) ENV['GEOIP_LIBRARY_PATH'] else Dir.glob(search_paths.map { |path| File.expand_path(File.join(path, "#{lib}.#{FFI::Platform::LIBSUFFIX}")) }).first end end
geoip_library_path()
click to toggle source
# File lib/ffi-geoip.rb, line 61 def self.geoip_library_path @geoip_library_path ||= begin # On MingW the libraries have version numbers find_lib('{lib,}GeoIP{,-?}') end end
search_paths()
click to toggle source
# File lib/ffi-geoip.rb, line 38 def self.search_paths @search_paths ||= begin if ENV['GEOIP_LIBRARY_PATH'] [ ENV['GEOIP_LIBRARY_PATH'] ] elsif FFI::Platform::IS_WINDOWS ENV['PATH'].split(File::PATH_SEPARATOR) else [ '/usr/local/{lib64,lib}', '/opt/local/{lib64,lib}', '/usr/{lib64,lib}' ] [ '/usr/local/{lib64,lib}', '/opt/local/{lib64,lib}', '/usr/{lib64,lib}', '/usr/lib/{x86_64,i386}-linux-gnu' ] end end end