Sha256: 315a111b9a49273ed43ff5ef60bddeccaa98d7cc96d46f1caae4bfa861685f22

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

warn "Jdbc-Postgres is only for use with JRuby" if (JRUBY_VERSION.nil? rescue true)
require 'jdbc/postgres/version'

module Jdbc
  module Postgres

    def self.driver_jar
      version_jdbc_version = DRIVER_VERSION.split( '.' )
      version_jdbc_version << jdbc_version
      'postgresql-%s.%s-%s.jdbc%d.jar' % version_jdbc_version
    end

    def self.load_driver(method = :load)
      send method, driver_jar
    end

    def self.driver_name
      'org.postgresql.Driver'
    end

    private

    # JDBC version 4 if Java >=1.6, else 3
    def self.jdbc_version
      vers = Java::JavaLang::System.get_property( "java.specification.version" )
      ( ( vers.split( '.' ).map(&:to_i) <=> [ 1, 6 ] ) >= 0 ) ? 4 : 3
    end

    if defined?(JRUBY_VERSION) && # enable backwards-compat behavior :
      ( Java::JavaLang::Boolean.get_boolean("jdbc.driver.autoload") ||
        Java::JavaLang::Boolean.get_boolean("jdbc.postgres.autoload") )
      warn "autoloading JDBC driver on require 'jdbc/postgres'" if $VERBOSE
      load_driver :require
    end
  end
  PostgreSQL = Postgres
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jdbc-postgres-9.2.1004 lib/jdbc/postgres.rb