Class: ActiveRecord::ConnectionAdapters::JdbcDriver
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::JdbcDriver
- Defined in:
- lib/active_record/connection_adapters/jdbc_adapter.rb
Instance Method Summary collapse
- #connection(url, user, pass) ⇒ Object
- #create ⇒ Object
- #driver_class ⇒ Object
-
#initialize(name) ⇒ JdbcDriver
constructor
A new instance of JdbcDriver.
- #load ⇒ Object
Constructor Details
#initialize(name) ⇒ JdbcDriver
Returns a new instance of JdbcDriver.
227 228 229 |
# File 'lib/active_record/connection_adapters/jdbc_adapter.rb', line 227 def initialize(name) @name = name end |
Instance Method Details
#connection(url, user, pass) ⇒ Object
252 253 254 255 256 257 258 259 260 |
# File 'lib/active_record/connection_adapters/jdbc_adapter.rb', line 252 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 |
#create ⇒ Object
262 263 264 |
# File 'lib/active_record/connection_adapters/jdbc_adapter.rb', line 262 def create driver_class.new end |
#driver_class ⇒ Object
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'lib/active_record/connection_adapters/jdbc_adapter.rb', line 231 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 |
#load ⇒ Object
248 249 250 |
# File 'lib/active_record/connection_adapters/jdbc_adapter.rb', line 248 def load Jdbc::DriverManager.registerDriver(create) end |