Skip to content

Commit

Permalink
refactor: split define usecases
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Dec 9, 2021
1 parent 9243d70 commit 6452793
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 16 deletions.
16 changes: 16 additions & 0 deletions quake_core/src/usecases/entry_define_usecases.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
use crate::entry::{entry_defines, EntryDefine};
use std::path::PathBuf;

pub fn find_entry_define(target_entry: &String, path: &PathBuf) -> EntryDefine {
let entries: Vec<EntryDefine> = entry_defines::entries_define_from_path(path)
.into_iter()
.filter(|define| define.entry_type.eq(target_entry))
.collect();

let entries_define = if entries.len() == 0 {
EntryDefine::default()
} else {
entries[0].clone()
};
entries_define
}
20 changes: 4 additions & 16 deletions quake_core/src/usecases/entry_usecases.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,12 @@ use std::path::PathBuf;

use crate::entry::entry_file::EntryFile;
use crate::entry::entry_paths::EntryPaths;
use crate::entry::{entry_defines, entry_node_info, EntryDefine, EntryNodeInfo};
use crate::entry::{entry_node_info, EntryDefine, EntryNodeInfo};
use crate::errors::QuakeError;
use crate::helper::{date_now, file_filter};
use crate::usecases::entry_define_usecases;
use crate::usecases::entrysets::Entrysets;

pub fn find_entry_define(target_entry: &String, path: &PathBuf) -> EntryDefine {
let entries: Vec<EntryDefine> = entry_defines::entries_define_from_path(path)
.into_iter()
.filter(|define| define.entry_type.eq(target_entry))
.collect();

let entries_define = if entries.len() == 0 {
EntryDefine::default()
} else {
entries[0].clone()
};
entries_define
}

/// generate entries.csv from by paths
pub fn sync_in_path(paths: &EntryPaths) -> Result<(), Box<dyn Error>> {
let (size, content) = Entrysets::generate(&paths.base)?;
Expand Down Expand Up @@ -54,7 +41,8 @@ pub fn create_entry(
entry_text: &String,
) -> Result<(PathBuf, EntryFile), Box<dyn Error>> {
let paths = EntryPaths::init(quake_path, entry_type);
let entries_define = find_entry_define(entry_type, &paths.entries_define);
let entries_define =
entry_define_usecases::find_entry_define(entry_type, &paths.entries_define);
let mut entry_info = entry_node_info::entry_info_from_path(&paths.entry_node_info);

let new_index = entry_info.index + 1;
Expand Down
1 change: 1 addition & 0 deletions quake_core/src/usecases/mod.rs
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pub mod entry_define_usecases;
pub mod entry_usecases;
pub mod entrysets;

0 comments on commit 6452793

Please sign in to comment.