Skip to content

Commit 6e69f10

Browse files
committed
implemented number_of_tables and number_of_columns, bumped version
1 parent d663cf5 commit 6e69f10

4 files changed

Lines changed: 17 additions & 3 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "sql_docs"
3-
version = "1.0.10"
3+
version = "1.0.11"
44
edition = "2024"
55
description = "A crate for parsing comments from sql files and using them for documentation generation"
66
documentation = "https://docs.rs/sql_docs"

src/docs.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,12 @@ impl TableDoc {
152152
pub fn path(&self) -> Option<&Path> {
153153
self.path.as_deref()
154154
}
155+
156+
/// Returns the number of [`ColumnDoc`]
157+
#[must_use]
158+
pub fn number_of_columns(&self) -> usize {
159+
self.columns().len()
160+
}
155161
}
156162

157163
impl fmt::Display for TableDoc {
@@ -664,6 +670,7 @@ CREATE TABLE posts (
664670
vec![col_doc.clone(), col_doc_no_doc.clone()],
665671
None,
666672
);
673+
assert_eq!(table_doc.number_of_columns(), 2);
667674
let last_col = ColumnDoc::new("zed".to_owned(), Some("the last column".to_owned()));
668675
let table_doc_no_doc = TableDoc::new(
669676
None,
@@ -672,6 +679,7 @@ CREATE TABLE posts (
672679
vec![last_col, col_doc, col_doc_no_doc],
673680
None,
674681
);
682+
assert_eq!(table_doc_no_doc.number_of_columns(), 3);
675683
assert_eq!(table_doc.name(), "table");
676684
assert_eq!(table_doc.schema(), Some("schema"));
677685
assert_eq!(

src/sql_doc.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,12 @@ impl SqlDoc {
168168
pub fn into_tables(self) -> Vec<TableDoc> {
169169
self.tables
170170
}
171+
172+
/// Returns the number of [`TableDoc`]
173+
#[must_use]
174+
pub fn number_of_tables(&self) -> usize {
175+
self.tables().len()
176+
}
171177
}
172178

173179
impl FromStr for SqlDoc {
@@ -551,7 +557,7 @@ mod tests {
551557
fn test_sql_doc_getters() {
552558
let tables = vec![TableDoc::new(None, "name".to_owned(), None, vec![], None)];
553559
let sql_doc = SqlDoc::new(vec![TableDoc::new(None, "name".to_owned(), None, vec![], None)]);
554-
assert_eq!(sql_doc.tables().len(), 1);
560+
assert_eq!(sql_doc.number_of_tables(), tables.len());
555561
assert_eq!(sql_doc.tables(), tables);
556562
}
557563

0 commit comments

Comments
 (0)