Red.git | docs/coverage/report-data/ | Red-Database.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RaCoCo result: Red::Database</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"
integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
crossorigin="anonymous">
<style>
pre.code::before {
counter-reset: listing;
}
pre.code span {
counter-increment: listing;
}
pre.code span::before {
content: counter(listing) ". ";
}
.coverage-green {
background-color: #32CD32;
/*color-blind
background-color: #00CED1;
/**/
}
.coverage-red {
background-color: #fa8072;
}
.coverage-purple {
background-color: #9370DB;
}
</style>
</head>
<body>
<div class="container">
<div class="row mt-5 mb-3">
<div class="col-12">
<div class="page-header">
<h1>Red::Database 60%</h1>
</div>
</div>
</div>
<div class="row justify-content-md-center">
<div class="col-md-10">
<pre class="code">
<span class="coverage-green">use Red::Driver;</span>
<span class="coverage-green">unit module Red::Database;</span>
<span class="coverage-no">=head2 Red::Database</span>
<span class="coverage-no"></span>
<span class="coverage-green">proto database(|c) is export { * }</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| Accepts an SQL driver name and parameters and uses them to create</span>
<span class="coverage-no">#| an instance of `Red::Driver` class.</span>
<span class="coverage-no">#| The driver name is used to specify a particular driver from</span>
<span class="coverage-no">#| `Red::Driver::` family of modules, so `SQLite` results in</span>
<span class="coverage-no">#| constructing an instance of `Red::Driver::SQLite` class.</span>
<span class="coverage-no">#| All subsequent attributes after the driver name will be</span>
<span class="coverage-no">#| directly passed to the constructor of the driver.</span>
<span class="coverage-green">multi sub database(Str $type, |c --> Red::Driver) is export {</span>
<span class="coverage-green"> my $driver-name = "Red::Driver::$type";</span>
<span class="coverage-green"> require ::($driver-name);</span>
<span class="coverage-green"> my Red::Driver $driver = ::($driver-name).new: |c;</span>
<span class="coverage-green"> $driver.auto-register;</span>
<span class="coverage-green"> $driver</span>
<span class="coverage-no">}</span>
<span class="coverage-no"></span>
<span class="coverage-no">#| Accepts an SQL driver name and a database handle, and</span>
<span class="coverage-no">#| creates an instance of `Red::Driver` passing it the handle.</span>
<span class="coverage-red">multi sub database(Str $type, $dbh --> Red::Driver) {</span>
<span class="coverage-red"> my $driver-name = "Red::Driver::$type";</span>
<span class="coverage-red"> require ::($driver-name);</span>
<span class="coverage-red"> my Red::Driver $driver = ::($driver-name).new: :$dbh;</span>
<span class="coverage-red"> $driver.auto-register;</span>
<span class="coverage-red"> $driver</span>
<span class="coverage-no">}</span>
</pre>
</div>
</div>
</div>
</body>
</html>