]> source.dussan.org Git - sonarqube.git/blob
a07ed04ac7f8643758b760ac23e1828a0c97a4eb
[sonarqube.git] /
1 # arjdbc/discover.rb: Declare ArJdbc.extension modules in this file
2 # that loads a custom module and adapter.
3
4 module ::ArJdbc
5   # Adapters built-in to AR are required up-front so we can override
6   # the native ones
7   require 'arjdbc/mysql'
8   extension :MySQL do |name|
9     name =~ /mysql/i
10   end
11
12   require 'arjdbc/postgresql'
13   extension :PostgreSQL do |name|
14     name =~ /postgre/i
15   end
16
17   require 'arjdbc/sqlite3'
18   extension :SQLite3 do |name|
19     name =~ /sqlite/i
20   end
21
22   # Other adapters are lazy-loaded
23   extension :DB2 do |name, config|
24     if name =~ /(db2|as400)/i && config[:url] !~ /^jdbc:derby:net:/
25       require 'arjdbc/db2'
26       true
27     end
28   end
29
30   extension :Derby do |name|
31     if name =~ /derby/i
32       require 'arjdbc/derby'
33       true
34     end
35   end
36
37   extension :FireBird do |name|
38     if name =~ /firebird/i
39       require 'arjdbc/firebird'
40       true
41     end
42   end
43
44   extension :H2 do |name|
45     if name =~ /\.h2\./i
46       require 'arjdbc/h2'
47       true
48     end
49   end
50
51   extension :HSQLDB do |name|
52     if name =~ /hsqldb/i
53       require 'arjdbc/hsqldb'
54       true
55     end
56   end
57
58   extension :Informix do |name|
59     if name =~ /informix/i
60       require 'arjdbc/informix'
61       true
62     end
63   end
64
65   extension :Mimer do |name|
66     if name =~ /mimer/i
67       require 'arjdbc/mimer'
68       true
69     end
70   end
71
72   extension :MsSQL do |name|
73     if name =~ /sqlserver|tds|Microsoft SQL/i
74       require 'arjdbc/mssql'
75       true
76     end
77   end
78
79   extension :Oracle do |name|
80     if name =~ /oracle/i
81       require 'arjdbc/oracle'
82       true
83     end
84   end
85
86   extension :Sybase do |name|
87     if name =~ /sybase|tds/i
88       require 'arjdbc/sybase'
89       true
90     end
91   end
92 end