lib/herb/libherb.rb
# frozen_string_literal: true require "ffi" require "rbconfig" module Herb module LibHerb extend FFI::Library def self.library_extension RbConfig::CONFIG["DLEXT"] end def self.library_name "libherb.#{library_extension}" end def self.library_path File.expand_path("../../#{library_name}", __dir__) end ffi_lib(library_path) attach_function :herb_lex_to_buffer, [:pointer, :pointer], :void attach_function :herb_lex_json_to_buffer, [:pointer, :pointer], :void attach_function :herb_lex, [:pointer], :pointer attach_function :herb_parse, [:pointer], :pointer attach_function :herb_extract_ruby_to_buffer, [:pointer, :pointer], :void attach_function :herb_extract_html_to_buffer, [:pointer, :pointer], :void attach_function :herb_version, [], :pointer end end