diff options
Diffstat (limited to 'blog')
| -rw-r--r-- | blog/Cargo.lock | 4 | ||||
| -rw-r--r-- | blog/Cargo.toml | 7 | ||||
| -rw-r--r-- | blog/src/lib.rs | 127 | ||||
| -rw-r--r-- | blog/src/main.rs | 36 | 
4 files changed, 0 insertions, 174 deletions
diff --git a/blog/Cargo.lock b/blog/Cargo.lock deleted file mode 100644 index 8e79386..0000000 --- a/blog/Cargo.lock +++ /dev/null @@ -1,4 +0,0 @@ -[[package]] -name = "blog" -version = "0.1.0" - diff --git a/blog/Cargo.toml b/blog/Cargo.toml deleted file mode 100644 index 0f971d3..0000000 --- a/blog/Cargo.toml +++ /dev/null @@ -1,7 +0,0 @@ -[package] -name = "blog" -version = "0.1.0" -authors = ["Adam Carpenter <53hornet@gmail.com>"] -edition = "2018" - -[dependencies] diff --git a/blog/src/lib.rs b/blog/src/lib.rs deleted file mode 100644 index 8436a36..0000000 --- a/blog/src/lib.rs +++ /dev/null @@ -1,127 +0,0 @@ -//pub struct Post { -//    state: Option<Box<dyn State>>, -//    content: String, -//} -// -//impl Post { -//    pub fn new() -> Post { -//        Post { -//            state: Some(Box::new(Draft {})), -//            content: String::new(), -//        } -//    } -// -//    pub fn add_text(&mut self, text: &str) { -//        self.content.push_str(text); -//    } -// -//    pub fn content(&self) -> &str { -//        self.state.as_ref().unwrap().content(&self) -//    } -// -//    pub fn request_review(&mut self) { -//        if let Some(s) = self.state.take() { -//            self.state = Some(s.request_review()) -//        } -//    } -// -//    pub fn approve(&mut self) { -//        if let Some(s) = self.state.take() { -//            self.state = Some(s.approve()) -//        } -//    } -//} -// -//trait State { -//    fn request_review(self: Box<Self>) -> Box<dyn State>; -//    fn approve(self: Box<Self>) -> Box<dyn State>; -//    fn content<'a>(&self, post: &'a Post) -> &'a str { -//        "" -//    } -//} -// -//struct Draft {} -// -//impl State for Draft { -//    fn request_review(self: Box<Self>) -> Box<dyn State> { -//        Box::new(PendingReview {}) -//    } -// -//    fn approve(self: Box<Self>) -> Box<dyn State> { -//        self -//    } -//} -// -//struct PendingReview {} -// -//impl State for PendingReview { -//    fn request_review(self: Box<Self>) -> Box<dyn State> { -//        self -//    } -// -//    fn approve(self: Box<Self>) -> Box<dyn State> { -//        Box::new(Published {}) -//    } -//} -// -//struct Published {} -// -//impl State for Published { -//    fn request_review(self: Box<Self>) -> Box<dyn State> { -//        self -//    } -// -//    fn approve(self: Box<Self>) -> Box<dyn State> { -//        self -//    } -// -//    fn content<'a>(&self, post: &'a Post) -> &'a str { -//        &post.content -//    } -//} - - - -pub struct Post { -    content: String, -} - -pub struct DraftPost { -    content: String, -} - -pub struct PendingReviewPost { -    content: String, -} - -impl Post { -    pub fn new() -> DraftPost { -        DraftPost { -            content: String::new(), -        } -    } - -    pub fn content(&self) -> &str { -        &self.content -    } -} - -impl DraftPost { -    pub fn add_text(&mut self, text: &str) { -        self.content.push_str(text); -    } - -    pub fn request_review(self) -> PendingReviewPost { -        PendingReviewPost { -            content: self.content, -        } -    } -} - -impl PendingReviewPost { -    pub fn approve(self) -> Post { -        Post { -            content: self.content, -        } -    } -} diff --git a/blog/src/main.rs b/blog/src/main.rs deleted file mode 100644 index c976cd9..0000000 --- a/blog/src/main.rs +++ /dev/null @@ -1,36 +0,0 @@ -use blog::Post; - -fn main() { -//    let mut post = Post::new(); -// -//    post.add_text("salad"); -//    assert_eq!("", post.content()); -// -//    post.request_review(); -//    assert_eq!("", post.content()); -// -//    post.approve(); -//    assert_eq!("salad", post.content()); - - - -//    let mut post = Post::new(); -//    post.add_text("salad"); -//    assert_eq!("", post.content()); - - - -    let mut post = Post::new(); - -    post.add_text("salad"); -    let post = post.request_review(); -    let post = post.approve(); - -    assert_eq!("salad", post.content()); - - - - - -    println!("Done."); -}  |