From cc86d3396c1437e30c31eda862c6c0396bdb0bf7 Mon Sep 17 00:00:00 2001 From: Dominic Date: Mon, 4 May 2020 20:45:46 +0200 Subject: [PATCH] rename update to change, delete to remove, and remove rest_ prefix from macros --- example/src/main.rs | 22 +++++++------- gotham_restful/src/lib.rs | 8 ++--- gotham_restful/src/openapi/router.rs | 16 +++++----- gotham_restful/src/resource.rs | 16 +++++----- gotham_restful/src/routing.rs | 40 ++++++++++++------------- gotham_restful_derive/src/lib.rs | 26 ++++++++-------- gotham_restful_derive/src/method.rs | 43 +++++++++++++-------------- gotham_restful_derive/src/resource.rs | 2 +- 8 files changed, 85 insertions(+), 88 deletions(-) diff --git a/example/src/main.rs b/example/src/main.rs index d062710..d300bd8 100644 --- a/example/src/main.rs +++ b/example/src/main.rs @@ -18,13 +18,13 @@ use log4rs::{ use serde::{Deserialize, Serialize}; #[derive(Resource)] -#[rest_resource(ReadAll, Read, Search, Create, DeleteAll, Delete, Update, UpdateAll)] +#[resource(read_all, read, search, create, change_all, change, remove, remove_all)] struct Users { } #[derive(Resource)] -#[rest_resource(ReadAll)] +#[resource(ReadAll)] struct Auth { } @@ -35,7 +35,7 @@ struct User username : String } -#[rest_read_all(Users)] +#[read_all(Users)] fn read_all() -> Success>> { vec![Username().fake(), Username().fake()] @@ -45,50 +45,50 @@ fn read_all() -> Success>> .into() } -#[rest_read(Users)] +#[read(Users)] fn read(id : u64) -> Success { let username : String = Username().fake(); User { username: format!("{}{}", username, id) }.into() } -#[rest_search(Users)] +#[search(Users)] fn search(query : User) -> Success { query.into() } -#[rest_create(Users)] +#[create(Users)] fn create(body : User) { info!("Created User: {}", body.username); } -#[rest_update_all(Users)] +#[change_all(Users)] fn update_all(body : Vec) { info!("Changing all Users to {:?}", body.into_iter().map(|u| u.username).collect::>()); } -#[rest_update(Users)] +#[change(Users)] fn update(id : u64, body : User) { info!("Change User {} to {}", id, body.username); } -#[rest_delete_all(Users)] +#[delete_all(Users)] fn delete_all() { info!("Delete all Users"); } -#[rest_delete(Users)] +#[delete(Users)] fn delete(id : u64) { info!("Delete User {}", id); } -#[rest_read_all(Auth)] +#[read_all(Auth)] fn auth_read_all(auth : AuthStatus<()>) -> AuthSuccess { match auth { diff --git a/gotham_restful/src/lib.rs b/gotham_restful/src/lib.rs index c96e905..058f273 100644 --- a/gotham_restful/src/lib.rs +++ b/gotham_restful/src/lib.rs @@ -175,10 +175,10 @@ pub use resource::{ ResourceRead, ResourceSearch, ResourceCreate, - ResourceUpdateAll, - ResourceUpdate, - ResourceDeleteAll, - ResourceDelete + ResourceChangeAll, + ResourceChange, + ResourceRemoveAll, + ResourceRemove }; mod response; diff --git a/gotham_restful/src/openapi/router.rs b/gotham_restful/src/openapi/router.rs index 1fa3ccf..86d92cb 100644 --- a/gotham_restful/src/openapi/router.rs +++ b/gotham_restful/src/openapi/router.rs @@ -106,7 +106,7 @@ macro_rules! implOpenapiRouter { (&mut *(self.0).router, self.1).create::() } - fn update_all(&mut self) + fn change_all(&mut self) where Handler::Res : 'static, Handler::Body : 'static @@ -119,10 +119,10 @@ macro_rules! implOpenapiRouter { item.put = Some(OperationDescription::new::(schema).with_body::(body_schema).into_operation()); (self.0).openapi_builder.add_path(path, item); - (&mut *(self.0).router, self.1).update_all::() + (&mut *(self.0).router, self.1).change_all::() } - fn update(&mut self) + fn change(&mut self) where Handler::Res : 'static, Handler::Body : 'static @@ -136,10 +136,10 @@ macro_rules! implOpenapiRouter { item.put = Some(OperationDescription::new::(schema).add_path_param("id", id_schema).with_body::(body_schema).into_operation()); (self.0).openapi_builder.add_path(path, item); - (&mut *(self.0).router, self.1).update::() + (&mut *(self.0).router, self.1).change::() } - fn delete_all(&mut self) + fn remove_all(&mut self) { let schema = (self.0).openapi_builder.add_schema::(); @@ -148,10 +148,10 @@ macro_rules! implOpenapiRouter { item.delete = Some(OperationDescription::new::(schema).into_operation()); (self.0).openapi_builder.add_path(path, item); - (&mut *(self.0).router, self.1).delete_all::() + (&mut *(self.0).router, self.1).remove_all::() } - fn delete(&mut self) + fn remove(&mut self) { let schema = (self.0).openapi_builder.add_schema::(); let id_schema = (self.0).openapi_builder.add_schema::(); @@ -161,7 +161,7 @@ macro_rules! implOpenapiRouter { item.delete = Some(OperationDescription::new::(schema).add_path_param("id", id_schema).into_operation()); (self.0).openapi_builder.add_path(path, item); - (&mut *(self.0).router, self.1).delete::() + (&mut *(self.0).router, self.1).remove::() } } diff --git a/gotham_restful/src/resource.rs b/gotham_restful/src/resource.rs index 360f2a1..6e2d5cd 100644 --- a/gotham_restful/src/resource.rs +++ b/gotham_restful/src/resource.rs @@ -68,32 +68,32 @@ pub trait ResourceCreate : ResourceMethod } /// Handle a PUT request on the Resource root. -pub trait ResourceUpdateAll : ResourceMethod +pub trait ResourceChangeAll : ResourceMethod { type Body : RequestBody; - fn update_all(state : State, body : Self::Body) -> Pin + Send>>; + fn change_all(state : State, body : Self::Body) -> Pin + Send>>; } /// Handle a PUT request on the Resource with an id. -pub trait ResourceUpdate : ResourceMethod +pub trait ResourceChange : ResourceMethod { type Body : RequestBody; type ID : ResourceID + 'static; - fn update(state : State, id : Self::ID, body : Self::Body) -> Pin + Send>>; + fn change(state : State, id : Self::ID, body : Self::Body) -> Pin + Send>>; } /// Handle a DELETE request on the Resource root. -pub trait ResourceDeleteAll : ResourceMethod +pub trait ResourceRemoveAll : ResourceMethod { - fn delete_all(state : State) -> Pin + Send>>; + fn remove_all(state : State) -> Pin + Send>>; } /// Handle a DELETE request on the Resource with an id. -pub trait ResourceDelete : ResourceMethod +pub trait ResourceRemove : ResourceMethod { type ID : ResourceID + 'static; - fn delete(state : State, id : Self::ID) -> Pin + Send>>; + fn remove(state : State, id : Self::ID) -> Pin + Send>>; } diff --git a/gotham_restful/src/routing.rs b/gotham_restful/src/routing.rs index 3e67e09..1714a32 100644 --- a/gotham_restful/src/routing.rs +++ b/gotham_restful/src/routing.rs @@ -78,19 +78,19 @@ pub trait DrawResourceRoutes Handler::Res : 'static, Handler::Body : 'static; - fn update_all(&mut self) + fn change_all(&mut self) where Handler::Res : 'static, Handler::Body : 'static; - fn update(&mut self) + fn change(&mut self) where Handler::Res : 'static, Handler::Body : 'static; - fn delete_all(&mut self); + fn remove_all(&mut self); - fn delete(&mut self); + fn remove(&mut self); } fn response_from(res : Response, state : &State) -> gotham::hyper::Response @@ -217,15 +217,15 @@ where handle_with_body::(state, |state, body| Handler::create(state, body)) } -fn update_all_handler(state : State) -> Pin> +fn change_all_handler(state : State) -> Pin> where Handler::Res : 'static, Handler::Body : 'static { - handle_with_body::(state, |state, body| Handler::update_all(state, body)) + handle_with_body::(state, |state, body| Handler::change_all(state, body)) } -fn update_handler(state : State) -> Pin> +fn change_handler(state : State) -> Pin> where Handler::Res : 'static, Handler::Body : 'static @@ -234,21 +234,21 @@ where let path : &PathExtractor = PathExtractor::borrow_from(&state); path.id.clone() }; - handle_with_body::(state, |state, body| Handler::update(state, id, body)) + handle_with_body::(state, |state, body| Handler::change(state, id, body)) } -fn delete_all_handler(state : State) -> Pin> +fn remove_all_handler(state : State) -> Pin> { - to_handler_future(state, |state| Handler::delete_all(state)).boxed() + to_handler_future(state, |state| Handler::remove_all(state)).boxed() } -fn delete_handler(state : State) -> Pin> +fn remove_handler(state : State) -> Pin> { let id = { let path : &PathExtractor = PathExtractor::borrow_from(&state); path.id.clone() }; - to_handler_future(state, |state| Handler::delete(state, id)).boxed() + to_handler_future(state, |state| Handler::remove(state, id)).boxed() } #[derive(Clone)] @@ -386,7 +386,7 @@ macro_rules! implDrawResourceRoutes { .to(|state| create_handler::(state)); } - fn update_all(&mut self) + fn change_all(&mut self) where Handler::Res : Send + 'static, Handler::Body : 'static @@ -396,10 +396,10 @@ macro_rules! implDrawResourceRoutes { self.0.put(&self.1) .extend_route_matcher(accept_matcher) .extend_route_matcher(content_matcher) - .to(|state| update_all_handler::(state)); + .to(|state| change_all_handler::(state)); } - fn update(&mut self) + fn change(&mut self) where Handler::Res : Send + 'static, Handler::Body : 'static @@ -410,24 +410,24 @@ macro_rules! implDrawResourceRoutes { .extend_route_matcher(accept_matcher) .extend_route_matcher(content_matcher) .with_path_extractor::>() - .to(|state| update_handler::(state)); + .to(|state| change_handler::(state)); } - fn delete_all(&mut self) + fn remove_all(&mut self) { let matcher : MaybeMatchAcceptHeader = Handler::Res::accepted_types().into(); self.0.delete(&self.1) .extend_route_matcher(matcher) - .to(|state| delete_all_handler::(state)); + .to(|state| remove_all_handler::(state)); } - fn delete(&mut self) + fn remove(&mut self) { let matcher : MaybeMatchAcceptHeader = Handler::Res::accepted_types().into(); self.0.delete(&format!("{}/:id", self.1)) .extend_route_matcher(matcher) .with_path_extractor::>() - .to(|state| delete_handler::(state)); + .to(|state| remove_handler::(state)); } } } diff --git a/gotham_restful_derive/src/lib.rs b/gotham_restful_derive/src/lib.rs index 66cd764..7645df9 100644 --- a/gotham_restful_derive/src/lib.rs +++ b/gotham_restful_derive/src/lib.rs @@ -72,7 +72,7 @@ pub fn derive_request_body(input : TokenStream) -> TokenStream expand_derive(input, expand_request_body) } -#[proc_macro_derive(Resource, attributes(rest_resource))] +#[proc_macro_derive(Resource, attributes(resource))] pub fn derive_resource(input : TokenStream) -> TokenStream { expand_derive(input, expand_resource) @@ -86,49 +86,49 @@ pub fn derive_resource_error(input : TokenStream) -> TokenStream #[proc_macro_attribute] -pub fn rest_read_all(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn read_all(attr : TokenStream, item : TokenStream) -> TokenStream { expand_macro(attr, item, |attr, item| expand_method(Method::ReadAll, attr, item)) } #[proc_macro_attribute] -pub fn rest_read(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn read(attr : TokenStream, item : TokenStream) -> TokenStream { expand_macro(attr, item, |attr, item| expand_method(Method::Read, attr, item)) } #[proc_macro_attribute] -pub fn rest_search(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn search(attr : TokenStream, item : TokenStream) -> TokenStream { expand_macro(attr, item, |attr, item| expand_method(Method::Search, attr, item)) } #[proc_macro_attribute] -pub fn rest_create(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn create(attr : TokenStream, item : TokenStream) -> TokenStream { expand_macro(attr, item, |attr, item| expand_method(Method::Create, attr, item)) } #[proc_macro_attribute] -pub fn rest_update_all(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn change_all(attr : TokenStream, item : TokenStream) -> TokenStream { - expand_macro(attr, item, |attr, item| expand_method(Method::UpdateAll, attr, item)) + expand_macro(attr, item, |attr, item| expand_method(Method::ChangeAll, attr, item)) } #[proc_macro_attribute] -pub fn rest_update(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn change(attr : TokenStream, item : TokenStream) -> TokenStream { - expand_macro(attr, item, |attr, item| expand_method(Method::Update, attr, item)) + expand_macro(attr, item, |attr, item| expand_method(Method::Change, attr, item)) } #[proc_macro_attribute] -pub fn rest_delete_all(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn delete_all(attr : TokenStream, item : TokenStream) -> TokenStream { - expand_macro(attr, item, |attr, item| expand_method(Method::DeleteAll, attr, item)) + expand_macro(attr, item, |attr, item| expand_method(Method::RemoveAll, attr, item)) } #[proc_macro_attribute] -pub fn rest_delete(attr : TokenStream, item : TokenStream) -> TokenStream +pub fn delete(attr : TokenStream, item : TokenStream) -> TokenStream { - expand_macro(attr, item, |attr, item| expand_method(Method::Delete, attr, item)) + expand_macro(attr, item, |attr, item| expand_method(Method::Remove, attr, item)) } diff --git a/gotham_restful_derive/src/method.rs b/gotham_restful_derive/src/method.rs index d232df5..789c50d 100644 --- a/gotham_restful_derive/src/method.rs +++ b/gotham_restful_derive/src/method.rs @@ -26,10 +26,10 @@ pub enum Method Read, Search, Create, - UpdateAll, - Update, - DeleteAll, - Delete + ChangeAll, + Change, + RemoveAll, + Remove } impl FromStr for Method @@ -43,10 +43,10 @@ impl FromStr for Method "Read" | "read" => Ok(Self::Read), "Search" | "search" => Ok(Self::Search), "Create" | "create" => Ok(Self::Create), - "UpdateAll" | "update_all" => Ok(Self::UpdateAll), - "Update" | "update" => Ok(Self::Update), - "DeleteAll" | "delete_all" => Ok(Self::DeleteAll), - "Delete" | "delete" => Ok(Self::Delete), + "ChangeAll" | "change_all" => Ok(Self::ChangeAll), + "Change" | "change" => Ok(Self::Change), + "RemoveAll" | "remove_all" => Ok(Self::RemoveAll), + "Remove" | "remove" => Ok(Self::Remove), _ => Err(Error::new(Span::call_site(), format!("Unknown method: `{}'", str))) } } @@ -59,14 +59,11 @@ impl Method use Method::*; match self { - ReadAll => vec![], - Read => vec!["ID"], + ReadAll | RemoveAll => vec![], + Read | Remove => vec!["ID"], Search => vec!["Query"], - Create => vec!["Body"], - UpdateAll => vec!["Body"], - Update => vec!["ID", "Body"], - DeleteAll => vec![], - Delete => vec!["ID"] + Create | ChangeAll => vec!["Body"], + Change => vec!["ID", "Body"] } } @@ -79,10 +76,10 @@ impl Method Read => "Read", Search => "Search", Create => "Create", - UpdateAll => "UpdateAll", - Update => "Update", - DeleteAll => "DeleteAll", - Delete => "Delete" + ChangeAll => "ChangeAll", + Change => "Change", + RemoveAll => "RemoveAll", + Remove => "Remove" }; format_ident!("Resource{}", name) } @@ -96,10 +93,10 @@ impl Method Read => "read", Search => "search", Create => "create", - UpdateAll => "update_all", - Update => "update", - DeleteAll => "delete_all", - Delete => "delete" + ChangeAll => "change_all", + Change => "change", + RemoveAll => "remove_all", + Remove => "remove" }; format_ident!("{}", name) } diff --git a/gotham_restful_derive/src/resource.rs b/gotham_restful_derive/src/resource.rs index 173a8d4..a51ecbb 100644 --- a/gotham_restful_derive/src/resource.rs +++ b/gotham_restful_derive/src/resource.rs @@ -32,7 +32,7 @@ pub fn expand_resource(input : DeriveInput) -> Result let name = ident.to_string(); let methods = input.attrs.into_iter().filter(|attr| - attr.path.segments.iter().last().map(|segment| segment.ident.to_string()) == Some("rest_resource".to_string()) // TODO wtf + attr.path.segments.iter().last().map(|segment| segment.ident.to_string()) == Some("resource".to_string()) // TODO wtf ).map(|attr| { syn::parse2(attr.tokens).map(|m : MethodList| m.0.into_iter()) }).flat_map(|list| match list {