Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit a79ce7a

Browse files
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‎

Lines changed: 26 additions & 0 deletions
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‎

Lines changed: 3 additions & 28 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /