Sha256: 3a2536a25b42b11ae625a841a14ec2e8a4aec701ebbb004047db44b1b635dee4
Contents?: true
Size: 1.25 KB
Versions: 10
Compression:
Stored size: 1.25 KB
Contents
module ActiveRecord module ConnectionAdapters class JdbcDriver def initialize(name) @name = name end def driver_class @driver_class ||= begin driver_class_const = (@name[0...1].capitalize + @name[1..@name.length]).gsub(/\./, '_') Jdbc::Mutex.synchronized do unless Jdbc.const_defined?(driver_class_const) driver_class_name = @name Jdbc.module_eval do include_class(driver_class_name) { driver_class_const } end end end driver_class = Jdbc.const_get(driver_class_const) raise "You specify a driver for your JDBC connection" unless driver_class driver_class end end def load Jdbc::DriverManager.registerDriver(create) end def connection(url, user, pass) Jdbc::DriverManager.getConnection(url, user, pass) rescue # bypass DriverManager to get around problem with dynamically loaded jdbc drivers props = java.util.Properties.new props.setProperty("user", user) props.setProperty("password", pass) create.connect(url, props) end def create driver_class.new end end end end
Version data entries
10 entries across 10 versions & 3 rubygems