Top Level Namespace

Defined Under Namespace

Modules: PgQuery

Constant Summary collapse

SYMFILE =
File.join(__dir__, ext_symbols_filename)

Instance Method Summary collapse

Instance Method Details

#export_ruby_abi_versionObject

“ruby_abi_version” is a required symbol to be exported on Ruby 3.2+ development releases See github.com/ruby/ruby/pull/5474 and github.com/ruby/ruby/pull/6231



26
27
28
29
30
31
32
33
# File 'ext/pg_query/extconf.rb', line 26

def export_ruby_abi_version
  return false if RUBY_PATCHLEVEL >= 0 # Not a development release
  m = /(\d+)\.(\d+)/.match(RUBY_VERSION)
  return false if m.nil?
  major = m[1].to_i
  minor = m[2].to_i
  major >= 3 && minor >= 2
end

#ext_symbols_filenameObject



35
36
37
38
39
40
41
# File 'ext/pg_query/extconf.rb', line 35

def ext_symbols_filename
  name = 'ext_symbols'
  name += '_freebsd' if RUBY_PLATFORM =~ /freebsd/
  name += '_openbsd' if RUBY_PLATFORM =~ /openbsd/
  name += '_with_ruby_abi_version' if export_ruby_abi_version
  "#{name}.sym"
end