mirror of
https://gitlab.com/msrd0/gotham-restful.git
synced 2025-04-20 06:54:46 +00:00
rename update to change, delete to remove, and remove rest_ prefix from macros
This commit is contained in:
parent
3de130e104
commit
cc86d3396c
8 changed files with 85 additions and 88 deletions
|
@ -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))
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ pub fn expand_resource(input : DeriveInput) -> Result<TokenStream>
|
|||
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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue