refactor: split who.rs into who/ module (bd-2cbw)
Split 2447-line who.rs into focused submodules: - who/scoring.rs: half_life_decay (20 lines) - who/queries.rs: 5 query functions + helpers (~1400 lines) - who/format.rs: human + JSON formatters (~570 lines) - who.rs: slim module root with mode dispatch + re-exports (~260 lines) All 1052 tests pass. No public API changes.
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
bd-9lbr
|
bd-2cbw
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,8 +8,8 @@ use crate::core::who_types::{
|
|||||||
ActiveResult, ExpertResult, OverlapResult, ReviewsResult, WhoResult, WorkloadResult,
|
ActiveResult, ExpertResult, OverlapResult, ReviewsResult, WhoResult, WorkloadResult,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
use super::WhoRun;
|
||||||
use super::queries::format_overlap_role;
|
use super::queries::format_overlap_role;
|
||||||
use super::{WhoRun, WhoResolvedInput};
|
|
||||||
|
|
||||||
// ─── Human Output ────────────────────────────────────────────────────────────
|
// ─── Human Output ────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ fn build_mr_refs_for_user(conn: &Connection, ua: &UserAccum) -> Vec<String> {
|
|||||||
///
|
///
|
||||||
/// Parameters: `?1` = path, `?2` = since_ms, `?3` = project_id (nullable),
|
/// Parameters: `?1` = path, `?2` = since_ms, `?3` = project_id (nullable),
|
||||||
/// `?4` = as_of_ms, `?5` = closed_mr_multiplier, `?6` = reviewer_min_note_chars
|
/// `?4` = as_of_ms, `?5` = closed_mr_multiplier, `?6` = reviewer_min_note_chars
|
||||||
fn build_expert_sql_v2(is_prefix: bool) -> String {
|
pub(super) fn build_expert_sql_v2(is_prefix: bool) -> String {
|
||||||
let path_op = if is_prefix {
|
let path_op = if is_prefix {
|
||||||
"LIKE ?1 ESCAPE '\\'"
|
"LIKE ?1 ESCAPE '\\'"
|
||||||
} else {
|
} else {
|
||||||
@@ -967,7 +967,7 @@ pub fn query_reviews(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Normalize a raw review prefix like "Suggestion (non-blocking):" into "suggestion".
|
/// Normalize a raw review prefix like "Suggestion (non-blocking):" into "suggestion".
|
||||||
fn normalize_review_prefix(raw: &str) -> String {
|
pub(super) fn normalize_review_prefix(raw: &str) -> String {
|
||||||
let s = raw.trim().trim_end_matches(':').trim().to_lowercase();
|
let s = raw.trim().trim_end_matches(':').trim().to_lowercase();
|
||||||
|
|
||||||
// Strip "(non-blocking)" and similar parentheticals
|
// Strip "(non-blocking)" and similar parentheticals
|
||||||
|
|||||||
Reference in New Issue
Block a user