Skip to content

Commit 13c4002

Browse files
committed
Refactoring crate for optimizations
1 parent b7aadc6 commit 13c4002

File tree

5 files changed

+16
-19
lines changed

5 files changed

+16
-19
lines changed

src/ast.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ mod tests {
128128
let sql2 = "CREATE TABLE posts (id INTEGER PRIMARY KEY);";
129129
fs::write(&file1, sql1)?;
130130
fs::write(&file2, sql2)?;
131-
let set = SqlFileSet::new(&base, None)?;
131+
let set = SqlFileSet::new(&base, &[])?;
132132
let parsed_set = ParsedSqlFileSet::parse_all(set)?;
133133
let existing_files = parsed_set.files();
134134
assert_eq!(existing_files.len(), 2);

src/comments.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -427,7 +427,7 @@ mod tests {
427427
use std::path::Path;
428428

429429
let path = Path::new("sql_files");
430-
let set = SqlFileSet::new(path, None)?;
430+
let set = SqlFileSet::new(path, &[])?;
431431
let parsed_set = ParsedSqlFileSet::parse_all(set)?;
432432

433433
for file in parsed_set.files() {
@@ -534,7 +534,7 @@ mod tests {
534534
use crate::{ast::ParsedSqlFileSet, files::SqlFileSet};
535535
use std::path::Path;
536536
let path = Path::new("sql_files");
537-
let set = SqlFileSet::new(path, None)?;
537+
let set = SqlFileSet::new(path, &[])?;
538538
let parsed_set = ParsedSqlFileSet::parse_all(set)?;
539539
let file = {
540540
let Some(f) = parsed_set.files().iter().find(|f| {
@@ -572,7 +572,7 @@ mod tests {
572572

573573
use crate::{ast::ParsedSqlFileSet, files::SqlFileSet};
574574
let path = Path::new("sql_files");
575-
let set = SqlFileSet::new(path, None)?;
575+
let set = SqlFileSet::new(path, &[])?;
576576
let parsed_set = ParsedSqlFileSet::parse_all(set)?;
577577
let file = {
578578
let Some(f) = parsed_set.files().iter().find(|f| {

src/docs.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ mod tests {
326326
use crate::{ast::ParsedSqlFileSet, comments::Comments, files::SqlFileSet};
327327
use std::path::Path;
328328
let path = Path::new("sql_files");
329-
let set = SqlFileSet::new(path, None)?;
329+
let set = SqlFileSet::new(path, &[])?;
330330
let parsed_set = ParsedSqlFileSet::parse_all(set)?;
331331
let expected_values = expect_values();
332332

src/files.rs

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,11 @@ impl SqlFilesList {
5050
/// # Errors
5151
///
5252
/// Returns an [`io::Error`] if directory traversal fails.
53-
pub fn new<P: AsRef<Path>>(path: P, deny_list: Option<Vec<String>>) -> io::Result<Self> {
53+
pub fn new<P: AsRef<Path>>(path: P, deny_list: &[String]) -> io::Result<Self> {
5454
let recursive_scan = recursive_dir_scan(path.as_ref())?;
55-
let allow_list = if let Some(list) = deny_list {
56-
let deny = DenyList::new(&list);
55+
let allow_list = {
56+
let deny = DenyList::new(deny_list);
5757
recursive_scan.into_iter().filter(|p| !deny.deny_files().contains(p)).collect()
58-
} else {
59-
recursive_scan
6058
};
6159

6260
Ok(Self { sql_files: allow_list })
@@ -163,7 +161,7 @@ impl SqlFileSet {
163161
///
164162
/// Returns an [`io::Error`] if directory traversal fails or if any of the
165163
/// discovered SQL files cannot be read.
166-
pub fn new(path: &Path, deny_list: Option<Vec<String>>) -> io::Result<Self> {
164+
pub fn new(path: &Path, deny_list: &[String]) -> io::Result<Self> {
167165
let sql_files_list = SqlFilesList::new(path, deny_list)?;
168166

169167
let files_contents = sql_files_list
@@ -260,7 +258,7 @@ mod tests {
260258
fs::File::create(&file2)?;
261259
fs::File::create(&non_sql1)?;
262260
fs::File::create(&non_sql2)?;
263-
let sql_file_list = SqlFilesList::new(&base, None)?;
261+
let sql_file_list = SqlFilesList::new(&base, &[])?;
264262
let mut expected = vec![&file1, &file2];
265263
expected.sort();
266264
assert_eq!(sql_file_list.sql_files_sorted(), expected);
@@ -289,7 +287,7 @@ mod tests {
289287
let mut expected = vec![&file1, &file2];
290288
expected.sort();
291289
let mut found: Vec<&PathBuf> = Vec::new();
292-
let sql_file_set = SqlFileSet::new(&base, None)?;
290+
let sql_file_set = SqlFileSet::new(&base, &[])?;
293291
for file in sql_file_set.iter() {
294292
assert_eq!(file.content, sql_statement);
295293
found.push(&file.path);
@@ -314,7 +312,7 @@ mod tests {
314312
fs::File::create(&file2)?;
315313
fs::File::create(&non_sql1)?;
316314
fs::File::create(&non_sql2)?;
317-
let deny_list = Some(vec![file1.to_string_lossy().to_string()]);
315+
let deny_list = &[file1.to_string_lossy().to_string()];
318316
let sql_file_list = SqlFilesList::new(&base, deny_list)?;
319317
let found = sql_file_list.sql_files_sorted();
320318
let mut expected = vec![&file2];
@@ -328,22 +326,22 @@ mod tests {
328326
#[test]
329327
fn test_file_fails() {
330328
let invalid_dir = "INVALID";
331-
let failed_list = SqlFilesList::new(invalid_dir, None);
329+
let failed_list = SqlFilesList::new(invalid_dir, &[]);
332330
assert!(failed_list.is_err());
333331

334332
let base = env::temp_dir().join("test_files_fails_dir");
335333
let _ = fs::remove_dir_all(&base);
336334
fs::create_dir_all(&base).unwrap_or_else(|e| panic!("panicked on {e}"));
337335
let bad_file = base.join("one.sql");
338336
fs::File::create(&bad_file).unwrap_or_else(|e| panic!("panicked on {e}"));
339-
let failed_read = SqlFilesList::new(&bad_file, None);
337+
let failed_read = SqlFilesList::new(&bad_file, &[]);
340338
assert!(failed_read.is_err());
341339
let missed_file = base.join("missing.sql");
342340
let missing_file = SqlFile::new(&missed_file);
343341
assert!(missing_file.is_err());
344342
let _ = fs::remove_dir_all(&base);
345343

346-
let bad_file_list = SqlFileSet::new(Path::new(invalid_dir), None);
344+
let bad_file_list = SqlFileSet::new(Path::new(invalid_dir), &[]);
347345
assert!(bad_file_list.is_err());
348346
}
349347
}

src/sql_doc.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,8 +251,7 @@ fn generate_docs_from_dir<P: AsRef<Path>, S: AsRef<str>>(
251251
deny: &[S],
252252
) -> Result<Vec<SqlFileDoc>, DocError> {
253253
let deny_list: Vec<String> = deny.iter().map(|file| file.as_ref().to_string()).collect();
254-
let deny_option = if deny_list.is_empty() { None } else { Some(deny_list) };
255-
let file_set = SqlFilesList::new(source.as_ref(), deny_option)?;
254+
let file_set = SqlFilesList::new(source, &deny_list)?;
256255
let mut sql_docs = Vec::new();
257256
for file in file_set.sql_files_sorted() {
258257
let docs = generate_docs_from_file(file)?;

0 commit comments

Comments
 (0)