From 0baecc0a6f67f8882764a151a5cb9ee7c08ea180 Mon Sep 17 00:00:00 2001 From: Gregory Eremin Date: Sun, 18 Jan 2015 18:31:36 +0700 Subject: [PATCH] Ignored attribute --- config.go | 5 +++++ demo/demo.go | 1 + 2 files changed, 6 insertions(+) diff --git a/config.go b/config.go index e847ec5..981c4e9 100644 --- a/config.go +++ b/config.go @@ -30,6 +30,7 @@ const ( tOptions = "options" aRequired = "required" aReadonly = "readonly" + aIgnored = "ignored" sep = "," ) @@ -68,6 +69,7 @@ func (c *config) meta(prefix string) []*configField { panic(fmt.Errorf("Config is expected to be a Struct, not %s", ckind.String())) } +loop_over_fields: for i := 0; i < cval.NumField(); i++ { var ( field = ctyp.Field(i) @@ -105,6 +107,9 @@ func (c *config) meta(prefix string) []*configField { if attr == aReadonly { cf.IsReadonly = true } + if attr == aIgnored { + continue loop_over_fields + } } fields = append(fields, cf) diff --git a/demo/demo.go b/demo/demo.go index 454ec98..97a39c8 100644 --- a/demo/demo.go +++ b/demo/demo.go @@ -13,6 +13,7 @@ type ( EnableSignIn bool `json:"enable_sign_in" title:"Enable Sign-In"` DatabaseDriver string `json:"database_driver" title:"Database Driver" options:"mysql,postgresql,mssql"` DatabaseConfig DatabaseConfig `json:"database_config"` + SensitiveData string `json:"sensitive_data" attrs:"ignored"` } DatabaseConfig struct { Hostname string `json:"hostname"`