Sha256: be6f4584724f4dac1cfc2780d4adb0e9a4deb47cdfc049c294de50f812aec68d

Contents?: true

Size: 858 Bytes

Versions: 3

Compression:

Stored size: 858 Bytes

Contents

module JdbcMssqlDriverLoader
  def self.check_and_maybe_load_driver
    driver_name = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    if (Java::JavaClass.for_name(driver_name) rescue nil)
      driver = Java::ComMicrosoftSqlserverJdbc::SQLServerDriver.new
      which = driver
        .getClass().getClassLoader().loadClass(driver_name)
        .getProtectionDomain().getCodeSource().getLocation().to_s
      warn "You already required a mssql jdbc driver (#{which}), skipping gem jdbc-mssql"

      major_version = driver.major_version
      required_major_version = 8
      if major_version < required_major_version
        raise "MSSQL jdbc driver version is to old (given major version #{major_version} < required major version #{required_major_version})"
      end
    else
      require "jdbc/mssql"
    end
  end

  check_and_maybe_load_driver
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activerecord-jdbcsqlserver-adapter-52.0.0 lib/jdbc_mssql_driver_loader.rb
activerecord-jdbcsqlserver-adapter-51.1.0 lib/jdbc_mssql_driver_loader.rb
activerecord-jdbcsqlserver-adapter-50.1.0 lib/jdbc_mssql_driver_loader.rb