15: def connect(db_args, user, auth, params)
16:
17: user = @handle.default_user[0] if user.nil?
18: auth = @handle.default_user[1] if auth.nil?
19:
20:
21:
22:
23:
24:
25: params ||= {}
26: new_params = @handle.default_attributes
27: params.each {|k,v| new_params[k] = v}
28:
29: if params.has_key?(:_convert_types)
30: @convert_types = params[:_convert_types]
31: end
32:
33: db = @handle.connect(db_args, user, auth, new_params)
34: dbh = DatabaseHandle.new(db, @convert_types)
35:
36:
37: dbh.driver_name = @driver_name
38:
39: if block_given?
40: begin
41: yield dbh
42: ensure
43: dbh.disconnect if dbh.connected?
44: end
45: else
46: return dbh
47: end
48: end