From e56ce0a998ac21fd2b48b6dc58d8a59e555f8718 Mon Sep 17 00:00:00 2001 From: Siddhant Date: Tue, 20 Oct 2020 19:52:59 +0700 Subject: [PATCH] Added support for kebab case for postgres enums --- sqlx-macros/src/derives/attributes.rs | 2 ++ sqlx-macros/src/derives/mod.rs | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sqlx-macros/src/derives/attributes.rs b/sqlx-macros/src/derives/attributes.rs index f65f99e16..3feea50b5 100644 --- a/sqlx-macros/src/derives/attributes.rs +++ b/sqlx-macros/src/derives/attributes.rs @@ -32,6 +32,7 @@ pub enum RenameAll { SnakeCase, UpperCase, ScreamingSnakeCase, + KebabCase, } pub struct SqlxContainerAttributes { @@ -75,6 +76,7 @@ pub fn parse_container_attributes(input: &[Attribute]) -> syn::Result RenameAll::SnakeCase, "UPPERCASE" => RenameAll::UpperCase, "SCREAMING_SNAKE_CASE" => RenameAll::ScreamingSnakeCase, + "kebab-case" => RenameAll::KebabCase, _ => fail!(meta, "unexpected value for rename_all"), }; diff --git a/sqlx-macros/src/derives/mod.rs b/sqlx-macros/src/derives/mod.rs index 51435ce45..0c51dd9ff 100644 --- a/sqlx-macros/src/derives/mod.rs +++ b/sqlx-macros/src/derives/mod.rs @@ -10,7 +10,7 @@ pub(crate) use r#type::expand_derive_type; pub(crate) use row::expand_derive_from_row; use self::attributes::RenameAll; -use heck::{ShoutySnakeCase, SnakeCase}; +use heck::{ShoutySnakeCase, SnakeCase, KebabCase}; use std::iter::FromIterator; use syn::DeriveInput; @@ -34,5 +34,6 @@ pub(crate) fn rename_all(s: &str, pattern: RenameAll) -> String { RenameAll::SnakeCase => s.to_snake_case(), RenameAll::UpperCase => s.to_uppercase(), RenameAll::ScreamingSnakeCase => s.to_shouty_snake_case(), + RenameAll::KebabCase => s.to_kebab_case(), } }