RaCoCo result: Red::Database

# Red::Database 60%

    use Red::Driver;
    unit module Red::Database;
    =head2 Red::Database

    proto database(|c) is export { * }

    #| Accepts an SQL driver name and parameters and uses them to create
    #| an instance of `Red::Driver` class.
    #| The driver name is used to specify a particular driver from
    #| `Red::Driver::` family of modules, so `SQLite` results in
    #| constructing an instance of `Red::Driver::SQLite` class.
    #| All subsequent attributes after the driver name will be
    #| directly passed to the constructor of the driver.
    multi sub database(Str $type, |c --> Red::Driver) is export {
        my $driver-name = "Red::Driver::$type";
        require ::($driver-name);
        my Red::Driver $driver = ::($driver-name).new: |c;
        $driver.auto-register;
        $driver
    }

    #| Accepts an SQL driver name and a database handle, and
    #| creates an instance of `Red::Driver` passing it the handle.
    multi sub database(Str $type, $dbh --> Red::Driver) {
        my $driver-name = "Red::Driver::$type";
        require ::($driver-name);
        my Red::Driver $driver = ::($driver-name).new: :$dbh;
        $driver.auto-register;
        $driver
    }