Update docs

This commit is contained in:
Brian J. Cardiff 2023-05-29 17:31:24 -03:00
parent 0c2a6ce387
commit e0ac73575e
2 changed files with 12 additions and 6 deletions

View file

@ -10,8 +10,9 @@ module DB
# #
# ## Database URI # ## Database URI
# #
# Connection parameters are configured in a URI. The format is specified by the individual # Connection parameters are usually in a URI. The format is specified by the individual
# database drivers. See the [reference book](https://crystal-lang.org/reference/database/) for examples. # database drivers, yet there are some common properties names usually shared.
# See the [reference book](https://crystal-lang.org/reference/database/) for examples.
# #
# The connection pool can be configured from URI parameters: # The connection pool can be configured from URI parameters:
# #

View file

@ -1,21 +1,23 @@
module DB module DB
# Database driver implementors must subclass `Driver`, # Database driver implementors must subclass `Driver`,
# register with a driver_name using `DB#register_driver` and # register with a driver_name using `DB#register_driver` and
# override the factory method `#build_connection`. # override the factory method `#connection_builder`.
# #
# ``` # ```
# require "db" # require "db"
# #
# class FakeDriver < DB::Driver # class FakeDriver < DB::Driver
# def build_connection(context : DB::ConnectionContext) # def connection_builder(uri : URI) : Proc(DB::Connection)
# FakeConnection.new context # params = HTTP::Params.parse(uri.query || "")
# options = connection_options(params)
# ->{ FakeConnection.new(options).as(DB::Connection) }
# end # end
# end # end
# #
# DB.register_driver "fake", FakeDriver # DB.register_driver "fake", FakeDriver
# ``` # ```
# #
# Access to this fake datbase will be available with # Access to this fake database will be available with
# #
# ``` # ```
# DB.open "fake://..." do |db| # DB.open "fake://..." do |db|
@ -25,6 +27,9 @@ module DB
# #
# Refer to `Connection`, `Statement` and `ResultSet` for further # Refer to `Connection`, `Statement` and `ResultSet` for further
# driver implementation instructions. # driver implementation instructions.
#
# Override `#connection_options` and `#pool_options` to provide custom
# defaults or parsing of the connection string URI.
abstract class Driver abstract class Driver
# Returns a new connection factory. # Returns a new connection factory.
# #