Top Level Namespace

Defined Under Namespace

Modules: DataObjects

Instance Method Summary collapse

Instance Method Details

#config_value(type) ⇒ Object



9
10
11
# File 'ext/do_postgres/extconf.rb', line 9

def config_value(type)
  ENV["POSTGRES_#{type.upcase}"] || pg_config(type)
end

#have_build_envObject



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

def have_build_env
  (have_library('pq') || have_library('libpq')) &&
  have_header('libpq-fe.h') && have_header('libpq/libpq-fs.h') &&
  have_header('postgres.h') &&
  have_header_with_preheader('mb/pg_wchar.h', 'postgres.h') &&
  have_header_with_preheader('catalog/pg_type.h', 'postgres.h')
end

#have_header_with_preheader(header, preheader) ⇒ Object

The preheader argument wasn’t introduced till Ruby 1.9.3.



18
19
20
21
22
23
24
# File 'ext/do_postgres/extconf.rb', line 18

def have_header_with_preheader(header, preheader)
  if method(:have_header).arity == -2
    have_header(header, preheader)
  else
    have_header(header)
  end
end

#pg_config(type) ⇒ Object



13
14
15
# File 'ext/do_postgres/extconf.rb', line 13

def pg_config(type)
  IO.popen("pg_config --#{type}").readline.chomp rescue nil
end