Skip to content

Commit 587b863

Browse files
Put doc coverage data into a new DocCoverage struct
1 parent e80a2c8 commit 587b863

File tree

3 files changed

+23
-21
lines changed

3 files changed

+23
-21
lines changed

src/db/add_package.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use std::{
55
};
66

77
use crate::{
8-
docbuilder::BuildResult,
8+
docbuilder::{BuildResult, DocCoverage},
99
error::Result,
1010
index::api::{CrateData, CrateOwner, ReleaseData},
1111
storage::CompressionAlgorithm,
@@ -133,8 +133,7 @@ pub(crate) fn add_package_into_database(
133133
pub(crate) fn add_doc_coverage(
134134
conn: &mut Client,
135135
release_id: i32,
136-
total_items: i32,
137-
documented_items: i32,
136+
doc_coverage: DocCoverage,
138137
) -> Result<i32> {
139138
debug!("Adding doc coverage into database");
140139
let rows = conn.query(
@@ -145,7 +144,7 @@ pub(crate) fn add_doc_coverage(
145144
total_items = $2,
146145
documented_items = $3
147146
RETURNING release_id",
148-
&[&release_id, &total_items, &documented_items],
147+
&[&release_id, &doc_coverage.total_items, &doc_coverage.documented_items],
149148
)?;
150149
Ok(rows[0].get(0))
151150
}

src/docbuilder/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ mod rustwide_builder;
77

88
pub(crate) use self::limits::Limits;
99
pub(self) use self::metadata::Metadata;
10-
pub(crate) use self::rustwide_builder::BuildResult;
10+
pub(crate) use self::rustwide_builder::{BuildResult, DocCoverage};
1111
pub use self::rustwide_builder::RustwideBuilder;
1212

1313
use crate::db::Pool;

src/docbuilder/rustwide_builder.rs

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -429,10 +429,8 @@ impl RustwideBuilder {
429429
algs,
430430
)?;
431431

432-
if let (Some(total), Some(documented)) =
433-
(res.result.total_items, res.result.documented_items)
434-
{
435-
add_doc_coverage(&mut conn, release_id, total, documented)?;
432+
if let Some(doc_coverage) = res.result.doc_coverage {
433+
add_doc_coverage(&mut conn, release_id, doc_coverage)?;
436434
}
437435

438436
add_build_into_database(&mut conn, release_id, &res.result)?;
@@ -648,14 +646,15 @@ impl RustwideBuilder {
648646
.run()
649647
.is_ok()
650648
});
651-
let mut total_items = None;
652-
let mut documented_items = None;
649+
let mut doc_coverage = None;
653650
if successful {
654-
if let Some((total, documented)) =
651+
if let Some((total_items, documented_items)) =
655652
self.get_coverage(target, build, metadata, limits)?
656653
{
657-
total_items = Some(total);
658-
documented_items = Some(documented);
654+
doc_coverage = Some(DocCoverage {
655+
total_items,
656+
documented_items,
657+
});
659658
}
660659
}
661660
// If we're passed a default_target which requires a cross-compile,
@@ -677,8 +676,7 @@ impl RustwideBuilder {
677676
rustc_version: self.rustc_version.clone(),
678677
docsrs_version: format!("docsrs {}", crate::BUILD_VERSION),
679678
successful,
680-
total_items,
681-
documented_items,
679+
doc_coverage
682680
},
683681
cargo_metadata,
684682
target: target.to_string(),
@@ -732,14 +730,19 @@ struct FullBuildResult {
732730
cargo_metadata: CargoMetadata,
733731
}
734732

733+
#[derive(Clone, Copy)]
734+
pub(crate) struct DocCoverage {
735+
/// The total items that could be documented in the current crate, used to calculate
736+
/// documentation coverage.
737+
pub(crate) total_items: i32,
738+
/// The items of the crate that are documented, used to calculate documentation coverage.
739+
pub(crate) documented_items: i32,
740+
}
741+
735742
pub(crate) struct BuildResult {
736743
pub(crate) rustc_version: String,
737744
pub(crate) docsrs_version: String,
738745
pub(crate) build_log: String,
739746
pub(crate) successful: bool,
740-
/// The total items that could be documented in the current crate, used to calculate
741-
/// documentation coverage.
742-
pub(crate) total_items: Option<i32>,
743-
/// The items of the crate that are documented, used to calculate documentation coverage.
744-
pub(crate) documented_items: Option<i32>,
747+
pub(crate) doc_coverage: Option<DocCoverage>,
745748
}

0 commit comments

Comments
 (0)