Module: Ardb::Adapter

Defined in:
lib/ardb.rb,
lib/ardb/adapter/base.rb,
lib/ardb/adapter/mysql.rb,
lib/ardb/adapter/sqlite.rb,
lib/ardb/adapter/postgresql.rb

Defined Under Namespace

Classes: Base, Mysql, Postgresql, Sqlite

Constant Summary collapse

VALID_ADAPTERS =
[
  "sqlite",
  "sqlite3",
  "postgresql",
  "postgres",
  "mysql",
  "mysql2",
].freeze

Class Method Summary collapse

Class Method Details

.mysql(config) ⇒ Object



192
193
194
195
# File 'lib/ardb.rb', line 192

def self.mysql(config)
  require "ardb/adapter/mysql"
  Adapter::Mysql.new(config)
end

.mysql2(config) ⇒ Object



197
198
199
# File 'lib/ardb.rb', line 197

def self.mysql2(config)
  mysql(config)
end

.new(config) ⇒ Object



167
168
169
170
171
172
# File 'lib/ardb.rb', line 167

def self.new(config)
  unless VALID_ADAPTERS.include?(config.adapter)
    raise InvalidAdapterError, "invalid adapter: `#{config.adapter}`"
  end
  send(config.adapter, config)
end

.postgres(config) ⇒ Object



188
189
190
# File 'lib/ardb.rb', line 188

def self.postgres(config)
  postgresql(config)
end

.postgresql(config) ⇒ Object



183
184
185
186
# File 'lib/ardb.rb', line 183

def self.postgresql(config)
  require "ardb/adapter/postgresql"
  Adapter::Postgresql.new(config)
end

.sqlite(config) ⇒ Object



174
175
176
177
# File 'lib/ardb.rb', line 174

def self.sqlite(config)
  require "ardb/adapter/sqlite"
  Adapter::Sqlite.new(config)
end

.sqlite3(config) ⇒ Object



179
180
181
# File 'lib/ardb.rb', line 179

def self.sqlite3(config)
  sqlite(config)
end