lib/ffi/lwgeom.rb in ffi-gdal-extensions-0.1.0 vs lib/ffi/lwgeom.rb in ffi-gdal-extensions-0.1.1

- old
+ new

@@ -9,21 +9,22 @@ # @return [String] Path to the library file. def self.find_lib(lib) lib_file_name = "#{lib}.#{FFI::Platform::LIBSUFFIX}*" if ENV['LWGEOM_LIBRARY_PATH'] - return File.join(ENV['LWGEOM_LIBRARY_PATH'], lib_file_name) + 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 - ffi_lib [::FFI::CURRENT_PROCESS, find_lib('liblwgeom')] + LIB_PATH = find_lib('liblwgeom').freeze + ffi_lib [::FFI::CURRENT_PROCESS, LIB_PATH] if LIB_PATH VARIANT_WKB_ISO = 0x01 VARIANT_WKB_SFSQL = 0x02 VARIANT_WKB_EXTENDED = 0x04 VARIANT_WKB_NDR = 0x08 @@ -32,11 +33,11 @@ VARIANT_WKT_ISO = 0x01 VARIANT_WKT_SFSQL = 0x02 VARIANT_WKT_EXTENDED = 0x04 - attach_function :lwgeom_from_wkt, [:string, :bool], Geom.ptr - attach_function :lwgeom_from_wkb, [:pointer, :size_t, :bool], Geom.ptr + attach_function :lwgeom_from_wkt, %i[string bool], Geom.ptr + attach_function :lwgeom_from_wkb, %i[pointer size_t bool], Geom.ptr attach_function :lwgeom_to_wkt, [Geom.ptr, :uint8, :int, :pointer], :string attach_function :lwgeom_to_wkb, [Geom.ptr, :uint8, :pointer], :pointer attach_function :lwgeom_make_valid, [Geom.ptr], Geom.ptr end