Skip to content

Commit 9087328

Browse files
Merge pull request #142 from unhappychoice/refactor/model-terminology-unification
refactor: unify model terminology and structure
2 parents b7e5e9a + aaa51d7 commit 9087328

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+917
-814
lines changed

src/cli/commands/game.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ pub fn run_game_session(cli: Cli) -> Result<()> {
5555
.and_then(
5656
|ProcessingResult {
5757
challenges,
58-
git_info,
58+
git_repository,
5959
}| {
6060
let mut stage_manager = StageManager::new(challenges);
61-
stage_manager.set_git_info(git_info);
61+
stage_manager.set_git_repository(git_repository);
6262
stage_manager.run_session()
6363
},
6464
);

src/extractor/challenge_converter.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use super::{CodeChunk, ProgressReporter};
2-
use crate::game::Challenge;
1+
use super::ProgressReporter;
2+
use crate::models::{Challenge, CodeChunk};
33
use rayon::prelude::*;
44
use std::sync::{
55
atomic::{AtomicUsize, Ordering},

src/extractor/core/extractor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::extractor::models::CodeChunk;
21
use crate::extractor::parsers::{get_parser_registry, parse_with_thread_local};
2+
use crate::models::CodeChunk;
33
use crate::{GitTypeError, Result};
44
use std::fs;
55
use std::path::Path;

src/extractor/git_info.rs

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,24 @@
1+
use crate::models::GitRepository;
12
use crate::Result;
2-
use serde::{Deserialize, Serialize};
33
use std::path::Path;
44
use std::process::Command;
55

6-
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
7-
pub struct GitRepositoryInfo {
8-
pub user_name: String,
9-
pub repository_name: String,
10-
pub remote_url: String,
11-
pub branch: Option<String>,
12-
pub commit_hash: Option<String>,
13-
pub is_dirty: bool,
14-
}
6+
// Re-export for backward compatibility - removed duplicate import
157

16-
pub struct GitInfoExtractor;
8+
pub struct GitRepositoryExtractor;
179

18-
impl Default for GitInfoExtractor {
10+
impl Default for GitRepositoryExtractor {
1911
fn default() -> Self {
2012
Self::new()
2113
}
2214
}
2315

24-
impl GitInfoExtractor {
16+
impl GitRepositoryExtractor {
2517
pub fn new() -> Self {
2618
Self
2719
}
2820

29-
pub fn extract_git_info(repo_path: &Path) -> Result<Option<GitRepositoryInfo>> {
21+
pub fn extract_git_repository(repo_path: &Path) -> Result<Option<GitRepository>> {
3022
// Canonicalize the path to handle relative paths like ../../
3123
let canonical_path = match repo_path.canonicalize() {
3224
Ok(path) => path,
@@ -48,7 +40,7 @@ impl GitInfoExtractor {
4840
let commit_hash = Self::get_current_commit_hash(&git_root).ok();
4941
let is_dirty = Self::is_working_directory_dirty(&git_root).unwrap_or(false);
5042

51-
Ok(Some(GitRepositoryInfo {
43+
Ok(Some(GitRepository {
5244
user_name,
5345
repository_name,
5446
remote_url,

src/extractor/mod.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,9 @@ pub mod parsers;
77
pub mod repository_loader;
88

99
pub use crate::game::screens::loading_screen::{NoOpProgressReporter, ProgressReporter};
10+
pub use crate::models::{ChunkType, CodeChunk, GitRepository};
1011
pub use challenge_converter::ChallengeConverter;
11-
pub use git_info::{GitInfoExtractor, GitRepositoryInfo};
12-
pub use models::{ChunkType, CodeChunk, ExtractionOptions, Language};
12+
pub use git_info::GitRepositoryExtractor;
13+
pub use models::{ExtractionOptions, Language};
1314
pub use parser::CodeExtractor;
1415
pub use repository_loader::RepositoryLoader;

src/extractor/models/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
pub mod chunk;
21
pub mod language;
32
pub mod languages;
43
pub mod options;
54

6-
pub use chunk::{ChunkType, CodeChunk};
5+
// Re-export from new models location
6+
pub use crate::models::{ChunkType, CodeChunk};
77
pub use language::Language;
88
pub use options::ExtractionOptions;

src/extractor/parsers/c.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::extractor::models::ChunkType;
21
use crate::extractor::parsers::LanguageExtractor;
2+
use crate::models::ChunkType;
33
use crate::Result;
44
use tree_sitter::{Node, Parser};
55

src/extractor/parsers/cpp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::extractor::models::ChunkType;
21
use crate::extractor::parsers::LanguageExtractor;
2+
use crate::models::ChunkType;
33
use crate::Result;
44
use tree_sitter::{Node, Parser};
55

src/extractor/parsers/csharp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::LanguageExtractor;
2-
use crate::extractor::models::ChunkType;
2+
use crate::models::ChunkType;
33
use crate::{GitTypeError, Result};
44
use tree_sitter::{Node, Parser};
55

src/extractor/parsers/dart.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use super::LanguageExtractor;
2-
use crate::extractor::models::ChunkType;
2+
use crate::models::ChunkType;
33
use crate::{GitTypeError, Result};
44
use tree_sitter::{Node, Parser};
55

0 commit comments

Comments
 (0)