Add function to parse tag input whatever fuck
This commit is contained in:
parent
fe695541e4
commit
af95ebeb66
|
@ -1,12 +1,24 @@
|
|||
use rocket::form::Form;
|
||||
use crate::structures::RecipeForm;
|
||||
use crate::structures::{RecipeForm, Tag};
|
||||
|
||||
#[get("/test")]
|
||||
pub fn test() -> String {
|
||||
return "Hello! :3".to_string();
|
||||
}
|
||||
|
||||
pub fn parse_tags(tags: String) -> Vec<Tag> {
|
||||
let split: Vec<&str> = tags.split(",").collect();
|
||||
let mut tags_vec: Vec<Tag> = Vec::new();
|
||||
for i in split {
|
||||
tags_vec.push(Tag::new(i
|
||||
.replace(" ", "")
|
||||
.replace("#", "")));
|
||||
}
|
||||
return tags_vec;
|
||||
}
|
||||
|
||||
#[post("/new-recipe", data = "<recipe>")]
|
||||
pub fn new_recipe(recipe: Form<RecipeForm>) -> String {
|
||||
return recipe.name.clone();
|
||||
|
||||
return recipe.recipe_name.to_owned();
|
||||
}
|
||||
|
|
|
@ -82,7 +82,9 @@ pub struct Tag(pub char, pub String);
|
|||
|
||||
impl Tag {
|
||||
pub fn new(s: String) -> Tag {
|
||||
Tag('#', s)
|
||||
let mut fuck = s;
|
||||
fuck.make_ascii_lowercase();
|
||||
Tag('#', fuck)
|
||||
}
|
||||
|
||||
pub fn to_string(&self) -> String {
|
||||
|
@ -107,8 +109,8 @@ impl Tag {
|
|||
|
||||
#[derive(FromForm)]
|
||||
pub struct RecipeForm {
|
||||
pub name: String,
|
||||
pub author: String,
|
||||
pub recipe_name: String,
|
||||
pub author_name: String,
|
||||
pub tags: String,
|
||||
pub prep_time: String,
|
||||
pub cooking_time: String,
|
||||
|
|
10
src/tests.rs
10
src/tests.rs
|
@ -2,6 +2,7 @@
|
|||
mod tests {
|
||||
// Note this useful idiom: importing names from outer (for mod tests) scope.
|
||||
use crate::structures::*;
|
||||
use crate::networking::{parse_tags};
|
||||
|
||||
#[test]
|
||||
fn test_tag_new() {
|
||||
|
@ -22,4 +23,13 @@ mod tests {
|
|||
fn test_shortcode_conversion() {
|
||||
assert_eq!(construct_shortcode("Test SHORtcode".to_string()), "test-shortcode".to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_parse_tags() {
|
||||
assert_eq!(parse_tags("one,TWO ,tHRee, #four".to_string()), vec![
|
||||
Tag('#',"one".to_string()),
|
||||
Tag('#',"two".to_string()),
|
||||
Tag('#',"three".to_string()),
|
||||
Tag('#',"four".to_string())]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue