class method
self.new
Ruby on Rails edge
Since v4.0.13Signature
self.new(...)
No documentation comment.
Parameters
-
...req
Source
# File activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb, line 156
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
else
database_path = SQLite3Adapter.resolve_path(@config[:database])
@config[:database] = database_path unless @config[:database].to_s.start_with?("file:")
dirname = File.dirname(database_path)
unless File.directory?(dirname)
begin
FileUtils.mkdir_p(dirname)
rescue SystemCallError
raise ActiveRecord::NoDatabaseError.new(connection_pool: @pool)
end
end
end
@previous_read_uncommitted = nil
@config[:strict] = ConnectionAdapters::SQLite3Adapter.strict_strings_by_default unless @config.key?(:strict)
extensions = @config.fetch(:extensions, []).map do |extension|
extension.safe_constantize || extension
end
@connection_parameters = @config.merge(
database: @config[:database].to_s,
results_as_hash: true,
default_transaction_mode: :immediate,
extensions: extensions
)
end
Defined in activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb line 156
· View on GitHub
· Improve this page
· Find usages on GitHub