Skip to content

Commit a79ce7a

Browse files
authored
refactor: extract template to its own file (#49)
1 parent b71cbdd commit a79ce7a

File tree

2 files changed

+29
-28
lines changed

2 files changed

+29
-28
lines changed

src/template.txt

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
advent_of_code::solution!(%DAY_NUMBER%);
2+
3+
pub fn part_one(input: &str) -> Option<u32> {
4+
None
5+
}
6+
7+
pub fn part_two(input: &str) -> Option<u32> {
8+
None
9+
}
10+
11+
#[cfg(test)]
12+
mod tests {
13+
use super::*;
14+
15+
#[test]
16+
fn test_part_one() {
17+
let result = part_one(&advent_of_code::template::read_file("examples", DAY));
18+
assert_eq!(result, None);
19+
}
20+
21+
#[test]
22+
fn test_part_two() {
23+
let result = part_two(&advent_of_code::template::read_file("examples", DAY));
24+
assert_eq!(result, None);
25+
}
26+
}

src/template/commands/scaffold.rs

+3-28
Original file line numberDiff line numberDiff line change
@@ -6,33 +6,8 @@ use std::{
66

77
use crate::template::Day;
88

9-
const MODULE_TEMPLATE: &str = r#"advent_of_code::solution!(DAY_NUMBER);
10-
11-
pub fn part_one(input: &str) -> Option<u32> {
12-
None
13-
}
14-
15-
pub fn part_two(input: &str) -> Option<u32> {
16-
None
17-
}
18-
19-
#[cfg(test)]
20-
mod tests {
21-
use super::*;
22-
23-
#[test]
24-
fn test_part_one() {
25-
let result = part_one(&advent_of_code::template::read_file("examples", DAY));
26-
assert_eq!(result, None);
27-
}
28-
29-
#[test]
30-
fn test_part_two() {
31-
let result = part_two(&advent_of_code::template::read_file("examples", DAY));
32-
assert_eq!(result, None);
33-
}
34-
}
35-
"#;
9+
const MODULE_TEMPLATE: &str =
10+
include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/template.txt"));
3611

3712
fn safe_create_file(path: &str) -> Result<File, std::io::Error> {
3813
OpenOptions::new().write(true).create_new(true).open(path)
@@ -57,7 +32,7 @@ pub fn handle(day: Day) {
5732

5833
match file.write_all(
5934
MODULE_TEMPLATE
60-
.replace("DAY_NUMBER", &day.into_inner().to_string())
35+
.replace("%DAY_NUMBER%", &day.into_inner().to_string())
6136
.as_bytes(),
6237
) {
6338
Ok(()) => {

0 commit comments

Comments
 (0)