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/SQLite.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, SQLite, 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
33
34
35
# 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 )
  when "sqlite"
    require "FluidDb/SQLite"
    return FluidDb::SQLite.new( uri )
    
  else
    abort("Scheme, #{uri.scheme}, not recognised when configuring creating db connection");
  end

end