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,
|
||||
};
|
||||
|
||||
use super::WhoRun;
|
||||
use super::queries::format_overlap_role;
|
||||
use super::{WhoRun, WhoResolvedInput};
|
||||
|
||||
// ─── 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),
|
||||
/// `?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 {
|
||||
"LIKE ?1 ESCAPE '\\'"
|
||||
} else {
|
||||
@@ -967,7 +967,7 @@ pub fn query_reviews(
|
||||
}
|
||||
|
||||
/// 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();
|
||||
|
||||
// Strip "(non-blocking)" and similar parentheticals
|
||||
|
||||
Reference in New Issue
Block a user