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
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- LW_PARSER_CHECK_NONE =
0- LW_PARSER_CHECK_MINPOINTS =
1- LW_PARSER_CHECK_ODD =
2- LW_PARSER_CHECK_CLOSURE =
4- LW_PARSER_CHECK_ZCLOSURE =
8
Class Method Summary collapse
-
.find_lib(lib) ⇒ String
Path to the library file.
-
.search_paths ⇒ Array<String>
List of paths to search for libs in.
Class Method Details
.find_lib(lib) ⇒ String
Returns Path to the library file.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ffi/lwgeom.rb', line 10 def self.find_lib(lib) lib_file_name = "#{lib}.#{FFI::Platform::LIBSUFFIX}*" if (lwgeom_library_path = ENV['LWGEOM_LIBRARY_PATH']) if File.exist?(lwgeom_library_path) && File.file?(lwgeom_library_path) return lwgeom_library_path end result = Dir[File.join(lwgeom_library_path, lib_file_name)].compact if (f = result.first) return f end raise "library '#{lib}' not found" end search_paths.map do |search_path| Dir.glob(search_path).map do |path| Dir.glob(File.join(path, lib_file_name)) end end.flatten.uniq.first end |
.search_paths ⇒ Array<String>
Returns List of paths to search for libs in.
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ffi/lwgeom.rb', line 35 def self.search_paths return [ENV['LWGEOM_LIBRARY_PATH']] if ENV['LWGEOM_LIBRARY_PATH'] @search_paths ||= begin paths = ENV['PATH'].split(File::PATH_SEPARATOR) unless FFI::Platform.windows? paths += %w[/usr/local/{lib64,lib} /opt/local/{lib64,lib} /usr/{lib64,lib} /usr/lib/{x86_64,i386}-linux-gnu] end paths end end |