Sha256: 532590a1d01e041fed70e876d67dfd026135ba712ef2be502dbf280e09e63bed

Contents?: true

Size: 727 Bytes

Versions: 3

Compression:

Stored size: 727 Bytes

Contents

module H3
  module Bindings
    # Base for FFI Bindings.
    #
    # When extended, this module sets up FFI to use the H3 C library.
    module Base
      def self.extended(base)
        lib_path = File.expand_path(__dir__ + "/../../../ext/h3/src/lib")
        base.extend FFI::Library
        base.extend Gem::Deprecate
        base.include Structs
        base.include Types
        base.ffi_lib ["#{lib_path}/libh3.dylib", "#{lib_path}/libh3.so"]
        base.typedef :ulong_long, :h3_index
        base.typedef :int, :size
        base.typedef :int, :k_distance
        base.typedef :pointer, :h3_set
        base.typedef :pointer, :output_buffer
        base.const_set("H3_INDEX", :ulong_long)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
h3-3.6.1 lib/h3/bindings/base.rb
h3-3.6.0 lib/h3/bindings/base.rb
h3-3.5.1 lib/h3/bindings/base.rb