Module: DatabaseValidations::Adapters

Defined in:
lib/database_validations/lib/adapters.rb,
lib/database_validations/lib/adapters/base_adapter.rb,
lib/database_validations/lib/adapters/mysql_adapter.rb,
lib/database_validations/lib/adapters/sqlite_adapter.rb,
lib/database_validations/lib/adapters/postgresql_adapter.rb

Defined Under Namespace

Classes: BaseAdapter, MysqlAdapter, PostgresqlAdapter, SqliteAdapter

Class Method Summary collapse

Class Method Details

.factory(model) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/database_validations/lib/adapters.rb', line 10

def factory(model)
  database = if ActiveRecord.version < Gem::Version.new('6.1.0')
               model.connection_config[:adapter].downcase.to_sym
             else
               model.connection_db_config.adapter.downcase.to_sym
             end

  case database
  when SqliteAdapter::ADAPTER then SqliteAdapter
  when PostgresqlAdapter::ADAPTER then PostgresqlAdapter
  when MysqlAdapter::ADAPTER then MysqlAdapter
  else
    raise Errors::UnknownDatabase, database
  end
end