Module: FluidDb

Defined in:
lib/FluidDb.rb,
lib/FluidDb/Db.rb,
lib/FluidDb/Mock.rb,
lib/FluidDb/Mysql.rb,
lib/FluidDb/Pgsql.rb,
lib/FluidDb/Mysql2.rb,
lib/FluidDb/TinyTds.rb,
lib/FluidDb/Firebird.rb

Defined Under Namespace

Classes: Base, ConnectionError, DuplicateKeyError, ExpectedAffectedRowsError, Firebird, IncorrectNumberOfParametersError, Mock, Mysql, Mysql2, NoDataFoundError, ParamTypeNotSupportedError, Pgsql, SqlNotMatchedError, TinyTds, TooManyRowsError

Class Method Summary collapse

Class Method Details

.Db(uri) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/FluidDb/Db.rb', line 5

def FluidDb.Db( uri )
	uri = URI.parse( uri ) if uri.is_a? String
    
    case uri.scheme
        when "mysql"
        require "FluidDb/Mysql"
        return FluidDb::Mysql.new( uri )
        when "mysql2"
        require "FluidDb/Mysql2"
        return FluidDb::Mysql2.new( uri )
        when "pgsql"
        require "FluidDb/Pgsql"
        return FluidDb::Pgsql.new( uri )
        when "fb"
        require "FluidDb/Firebird"
        return FluidDb::Firebird.new( uri )
        when "mock"
        require "FluidDb/Mock"
        return FluidDb::Mock.new( uri )
        when "tinytds"
        require "FluidDb/TinyTds"
        return FluidDb::TinyTds.new( uri )

        else
        abort("Scheme, #{uri.scheme}, not recognised when configuring creating db connection");
    end
    
end