Module: FFI::LWGeom

Extended by:
Library
Defined in:
lib/ffi/lwgeom.rb,
lib/ffi/lwgeom/gbox.rb,
lib/ffi/lwgeom/geom.rb

Defined Under Namespace

Classes: GBOX, Geom

Constant Summary collapse

LIB_PATH =
find_lib('liblwgeom').freeze
VARIANT_WKB_ISO =
0x01
VARIANT_WKB_SFSQL =
0x02
VARIANT_WKB_EXTENDED =
0x04
VARIANT_WKB_NDR =
0x08
VARIANT_WKB_XDR =
0x10
VARIANT_WKB_HEX =
0x20
VARIANT_WKT_ISO =
0x01
VARIANT_WKT_SFSQL =
0x02
VARIANT_WKT_EXTENDED =
0x04

Class Method Summary collapse

Class Method Details

.find_lib(lib) ⇒ String

Returns Path to the library file.

Parameters:

  • lib (String)

    Name of the library file to find.

Returns:

  • (String)

    Path to the library file.



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ffi/lwgeom.rb', line 10

def self.find_lib(lib)
  lib_file_name = "#{lib}.#{FFI::Platform::LIBSUFFIX}*"

  if ENV['LWGEOM_LIBRARY_PATH']
    return Dir.glob(File.join(ENV['LWGEOM_LIBRARY_PATH'], lib_file_name))
  end

  FFI::GDAL.search_paths.flat_map do |search_path|
    Dir.glob(search_path).flat_map do |path|
      Dir.glob(File.join(path, lib_file_name))
    end
  end.uniq.first
end