Skip to content

Commit 04fc71e

Browse files
unhappychoiceclaude
andcommitted
feat: complete method and variable name unification
- Update StageResult field: ranking_title → rank_name - Update all field access to use rank_name consistently - Fix scoring engine variable names: ranking_title → rank_name - Update test files to use new field names - Fix function parameter names in animation and screen modules Method/Field/Variable consistency achieved: - rank_name: String (specific rank title like "Hello World") - rank: String (tier name like "Beginner") - tier_position/tier_total: position within tier - overall_position/overall_total: position across all tiers All 160 tests passing, clean compilation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 64263f3 commit 04fc71e

14 files changed

+56
-56
lines changed

src/game/rank_messages.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -965,17 +965,17 @@ fn get_rank_messages_3() -> &'static HashMap<&'static str, Vec<(&'static str, Co
965965
}
966966

967967
/// Get hacking messages for a specific rank
968-
pub fn get_hacking_messages_for_rank(ranking_title: &str) -> Vec<String> {
968+
pub fn get_hacking_messages_for_rank(rank_name: &str) -> Vec<String> {
969969
// Check all three message maps
970-
if let Some(messages) = get_rank_messages().get(ranking_title) {
970+
if let Some(messages) = get_rank_messages().get(rank_name) {
971971
return messages.iter().map(|(text, _)| text.to_string()).collect();
972972
}
973973

974-
if let Some(messages) = get_rank_messages_2().get(ranking_title) {
974+
if let Some(messages) = get_rank_messages_2().get(rank_name) {
975975
return messages.iter().map(|(text, _)| text.to_string()).collect();
976976
}
977977

978-
if let Some(messages) = get_rank_messages_3().get(ranking_title) {
978+
if let Some(messages) = get_rank_messages_3().get(rank_name) {
979979
return messages.iter().map(|(text, _)| text.to_string()).collect();
980980
}
981981

@@ -989,9 +989,9 @@ pub fn get_hacking_messages_for_rank(ranking_title: &str) -> Vec<String> {
989989
}
990990

991991
/// Get colored messages for a specific rank
992-
pub fn get_colored_messages_for_rank(ranking_title: &str) -> Vec<ColoredMessage> {
992+
pub fn get_colored_messages_for_rank(rank_name: &str) -> Vec<ColoredMessage> {
993993
// Check all three message maps
994-
if let Some(messages) = get_rank_messages().get(ranking_title) {
994+
if let Some(messages) = get_rank_messages().get(rank_name) {
995995
return messages
996996
.iter()
997997
.map(|(text, color)| ColoredMessage {
@@ -1001,7 +1001,7 @@ pub fn get_colored_messages_for_rank(ranking_title: &str) -> Vec<ColoredMessage>
10011001
.collect();
10021002
}
10031003

1004-
if let Some(messages) = get_rank_messages_2().get(ranking_title) {
1004+
if let Some(messages) = get_rank_messages_2().get(rank_name) {
10051005
return messages
10061006
.iter()
10071007
.map(|(text, color)| ColoredMessage {
@@ -1011,7 +1011,7 @@ pub fn get_colored_messages_for_rank(ranking_title: &str) -> Vec<ColoredMessage>
10111011
.collect();
10121012
}
10131013

1014-
if let Some(messages) = get_rank_messages_3().get(ranking_title) {
1014+
if let Some(messages) = get_rank_messages_3().get(rank_name) {
10151015
return messages
10161016
.iter()
10171017
.map(|(text, color)| ColoredMessage {

src/game/screens/animation_screen.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ impl AnimationScreen {
4242
fn render_typing_animation_ratatui(
4343
frame: &mut Frame,
4444
animation: &TypingAnimation,
45-
_ranking_title: &str,
45+
_rank_name: &str,
4646
) {
4747
let area = frame.size();
4848

@@ -149,7 +149,7 @@ impl AnimationScreen {
149149

150150
// Helper function to get tier from ranking title name
151151
fn get_tier_from_title(title_name: &str) -> crate::models::RankTier {
152-
Rank::all_titles()
152+
Rank::all_ranks()
153153
.iter()
154154
.find(|title| title.name() == title_name)
155155
.map(|title| title.tier().clone())
@@ -186,17 +186,17 @@ impl AnimationScreen {
186186
terminal.clear()?;
187187

188188
// Create typing animation for session complete
189-
let tier = Self::get_tier_from_title(&session_metrics.ranking_title);
189+
let tier = Self::get_tier_from_title(&session_metrics.rank_name);
190190
let mut typing_animation =
191191
TypingAnimation::new(tier, terminal.size()?.width, terminal.size()?.height);
192-
typing_animation.set_rank_messages(&session_metrics.ranking_title);
192+
typing_animation.set_rank_messages(&session_metrics.rank_name);
193193

194194
// Show typing reveal animation with ratatui
195195
while !typing_animation.is_complete() {
196196
let updated = typing_animation.update();
197197

198198
if updated {
199-
let ranking_title = session_metrics.ranking_title.clone();
199+
let ranking_title = session_metrics.rank_name.clone();
200200
terminal.draw(|frame| {
201201
Self::render_typing_animation_ratatui(frame, &typing_animation, &ranking_title);
202202
})?;

src/game/screens/cancel_screen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ impl CancelScreen {
6767
consistency_streaks: vec![],
6868
completion_time: std::time::Duration::new(0, 0),
6969
challenge_score: 0.0,
70-
ranking_title: "Unranked".to_string(),
70+
rank_name: "Unranked".to_string(),
7171
rank: "Beginner".to_string(),
7272
tier_position: 0,
7373
tier_total: 0,

src/game/screens/exit_summary_screen.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ impl ExitSummaryScreen {
3737

3838
// Create a StageResult from SessionSummary data
3939
let ranking_title =
40-
ScoringEngine::get_ranking_title_for_score(session_summary.session_score)
40+
ScoringEngine::get_rank_for_score(session_summary.session_score)
4141
.name()
4242
.to_string();
4343
let (tier_name, tier_position, tier_total, overall_position, overall_total) =
@@ -51,7 +51,7 @@ impl ExitSummaryScreen {
5151
consistency_streaks: vec![], // Not available in session summary
5252
completion_time: session_summary.total_session_time,
5353
challenge_score: session_summary.session_score,
54-
ranking_title,
54+
rank_name: ranking_title,
5555
rank: tier_name,
5656
tier_position,
5757
tier_total,

src/game/screens/session_summary_screen.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ impl SessionSummaryScreen {
323323
};
324324

325325
// Display ranking title as large ASCII art at the top
326-
let rank_title_lines = get_rank_title_display(&session_metrics.ranking_title);
326+
let rank_title_lines = get_rank_title_display(&session_metrics.rank_name);
327327
let rank_title_height = rank_title_lines.len() as u16;
328328

329329
// Calculate total content height and center vertically

src/game/screens/sharing_screen.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ impl SharingScreen {
5555
let preview_text = if let Some(repo) = repo_info {
5656
format!(
5757
"\"{}\" with {:.0}pts on [{}/{}] - CPM: {:.0}, Mistakes: {}",
58-
metrics.ranking_title,
58+
metrics.rank_name,
5959
metrics.challenge_score,
6060
repo.user_name,
6161
repo.repository_name,
@@ -65,7 +65,7 @@ impl SharingScreen {
6565
} else {
6666
format!(
6767
"\"{}\" with {:.0}pts - CPM: {:.0}, Mistakes: {}",
68-
metrics.ranking_title, metrics.challenge_score, metrics.cpm, metrics.mistakes
68+
metrics.rank_name, metrics.challenge_score, metrics.cpm, metrics.mistakes
6969
)
7070
};
7171
let preview_col = center_col.saturating_sub(preview_text.len() as u16 / 2);

src/game/typing_animation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ impl TypingAnimation {
3939
}
4040
}
4141

42-
pub fn set_rank_messages(&mut self, ranking_title: &str) {
42+
pub fn set_rank_messages(&mut self, rank_name: &str) {
4343
use crate::game::rank_messages::get_colored_messages_for_rank;
44-
let colored_messages = get_colored_messages_for_rank(ranking_title);
44+
let colored_messages = get_colored_messages_for_rank(rank_name);
4545
self.hacking_lines = colored_messages
4646
.into_iter()
4747
.map(|msg| HackingLine {

src/models/rank.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ impl Rank {
8080
self.tier.terminal_color()
8181
}
8282

83-
/// Get all ranking titles in order from lowest to highest score
84-
pub fn all_titles() -> Vec<Rank> {
83+
/// Get all ranks in order from lowest to highest score
84+
pub fn all_ranks() -> Vec<Rank> {
8585
vec![
8686
// Beginner Level (clean boundaries, ~even progression)
8787
Rank::new("Hello World", RankTier::Beginner, 0, 800),
@@ -157,7 +157,7 @@ impl Rank {
157157
/// Find the ranking title for a given score
158158
#[allow(dead_code)]
159159
pub fn for_score(score: f64) -> Rank {
160-
Self::all_titles()
160+
Self::all_ranks()
161161
.into_iter()
162162
.find(|title| title.contains_score(score))
163163
.unwrap_or_else(|| {

src/models/stage.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub struct StageResult {
1616
pub consistency_streaks: Vec<usize>,
1717
pub completion_time: Duration,
1818
pub challenge_score: f64,
19-
pub ranking_title: String,
19+
pub rank_name: String,
2020
pub rank: String,
2121
pub tier_position: usize,
2222
pub tier_total: usize,

src/scoring/engine.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -169,26 +169,26 @@ impl ScoringEngine {
169169
all_streaks
170170
}
171171

172-
/// Get ranking title for current engine state
173-
pub fn get_ranking_title(&self) -> Rank {
172+
/// Get rank for current engine state
173+
pub fn get_rank(&self) -> Rank {
174174
let score = self.calculate_challenge_score();
175-
Self::get_ranking_title_for_score(score)
175+
Self::get_rank_for_score(score)
176176
}
177177

178-
/// Legacy method that returns title name as string for backward compatibility
179-
pub fn get_ranking_title_string(&self) -> String {
180-
self.get_ranking_title().name().to_string()
178+
/// Get rank name as string
179+
pub fn get_rank_name(&self) -> String {
180+
self.get_rank().name().to_string()
181181
}
182182

183-
/// Get ranking title for a specific score (pure function for testing)
184-
pub fn get_ranking_title_for_score(score: f64) -> Rank {
183+
/// Get rank for a specific score (pure function for testing)
184+
pub fn get_rank_for_score(score: f64) -> Rank {
185185
Rank::for_score(score)
186186
}
187187

188188
/// Calculate tier position and total for a given score
189189
pub fn calculate_tier_info(score: f64) -> (String, usize, usize, usize, usize) {
190-
let all_titles = Rank::all_titles();
191-
let current_title = Self::get_ranking_title_for_score(score);
190+
let all_titles = Rank::all_ranks();
191+
let current_title = Self::get_rank_for_score(score);
192192

193193
// Find titles in the same tier
194194
let same_tier_titles: Vec<_> = all_titles
@@ -234,8 +234,8 @@ impl ScoringEngine {
234234
)
235235
}
236236

237-
/// Legacy method that returns title name as string for a score for backward compatibility
238-
pub fn get_ranking_title_string_for_score(score: f64) -> String {
237+
/// Get rank name as string for a specific score
238+
pub fn get_rank_name_for_score(score: f64) -> String {
239239
match score as usize {
240240
// Beginner Level (clean boundaries, ~even progression)
241241
0..=800 => "Hello World".to_string(),
@@ -312,9 +312,9 @@ impl ScoringEngine {
312312
}
313313
}
314314

315-
/// Get legacy ranking title name for a specific score (deprecated - use get_ranking_title_for_score instead)
316-
pub fn get_ranking_title_legacy_for_score(score: f64) -> String {
317-
Self::get_ranking_title_for_score(score).name().to_string()
315+
/// Get legacy rank name for a specific score (deprecated - use get_rank_for_score instead)
316+
pub fn get_rank_name_legacy_for_score(score: f64) -> String {
317+
Self::get_rank_for_score(score).name().to_string()
318318
}
319319

320320
/// Calculate base score from current metrics
@@ -469,7 +469,7 @@ impl ScoringEngine {
469469
}
470470

471471
let challenge_score = self.calculate_challenge_score();
472-
let ranking_title = Self::get_ranking_title_for_score(challenge_score)
472+
let rank_name = Self::get_rank_for_score(challenge_score)
473473
.name()
474474
.to_string();
475475
let (tier_name, tier_position, tier_total, overall_position, overall_total) =
@@ -483,7 +483,7 @@ impl ScoringEngine {
483483
consistency_streaks: self.all_streaks(),
484484
completion_time: self.elapsed(),
485485
challenge_score,
486-
ranking_title,
486+
rank_name,
487487
rank: tier_name,
488488
tier_position,
489489
tier_total,
@@ -517,7 +517,7 @@ impl ScoringEngine {
517517
}
518518

519519
let challenge_score = temp_engine.calculate_challenge_score();
520-
let ranking_title = Self::get_ranking_title_for_score(challenge_score)
520+
let rank_name = Self::get_rank_for_score(challenge_score)
521521
.name()
522522
.to_string();
523523
let (tier_name, tier_position, tier_total, overall_position, overall_total) =
@@ -531,7 +531,7 @@ impl ScoringEngine {
531531
consistency_streaks: vec![], // Real-time doesn't track actual streaks
532532
completion_time: temp_engine.elapsed(),
533533
challenge_score,
534-
ranking_title,
534+
rank_name,
535535
rank: tier_name,
536536
tier_position,
537537
tier_total,

0 commit comments

Comments
 (0)