method
new
v7.2.3 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::SQLite3Adapter
new(...)public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb, line 99
def initialize(...)
super
@memory_database = false
case @config[:database].to_s
when ""
raise ArgumentError, "No database file specified. Missing argument: database"
when ":memory:"
@memory_database = true
when /\Afile:/
else
# Otherwise we have a path relative to Rails.root
@config[:database] = File.expand_path(@config[:database], Rails.root) if defined?(Rails.root)
dirname = File.dirname(@config[:database])
unless File.directory?(dirname)
begin
FileUtils.mkdir_p(dirname)
rescue SystemCallError
raise ActiveRecord::NoDatabaseError.new(connection_pool: @pool)
end
end
end
@config[:strict] = ConnectionAdapters::SQLite3Adapter.strict_strings_by_default unless @config.key?(:strict)
@connection_parameters = @config.merge(database: @config[:database].to_s, results_as_hash: true)
@use_insert_returning = @config.key?(:insert_returning) ? self.class.type_cast_config_to_boolean(@config[:insert_returning]) : true
end