From 2d83da4d7eb6e96fad54290909d6f8acd5d4785c Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Fri, 28 Jul 2017 09:59:31 +0100 Subject: [PATCH] Use varutils instead --- caddy/hugo/{ => assets}/hugo.js | 0 caddy/hugo/hugo.go | 6 ++-- variables/types.go | 13 --------- variables/types_test.go | 49 --------------------------------- variables/variables.go | 47 ------------------------------- variables/variables_test.go | 41 --------------------------- 6 files changed, 3 insertions(+), 153 deletions(-) rename caddy/hugo/{ => assets}/hugo.js (100%) delete mode 100644 variables/types.go delete mode 100644 variables/types_test.go delete mode 100644 variables/variables.go delete mode 100644 variables/variables_test.go diff --git a/caddy/hugo/hugo.js b/caddy/hugo/assets/hugo.js similarity index 100% rename from caddy/hugo/hugo.js rename to caddy/hugo/assets/hugo.js diff --git a/caddy/hugo/hugo.go b/caddy/hugo/hugo.go index f0fe4e2f..a93a1539 100644 --- a/caddy/hugo/hugo.go +++ b/caddy/hugo/hugo.go @@ -10,7 +10,7 @@ import ( rice "github.com/GeertJohan/go.rice" "github.com/hacdias/filemanager" - "github.com/hacdias/filemanager/variables" + "github.com/hacdias/varutils" "github.com/robfig/cron" ) @@ -140,7 +140,7 @@ func (h hugo) AfterAPI(c *filemanager.RequestContext, w http.ResponseWriter, r * } func (h hugo) JavaScript() string { - return rice.MustFindBox("./").MustString("hugo.js") + return rice.MustFindBox("./assets/").MustString("hugo.js") } // run runs Hugo with the define arguments. @@ -151,7 +151,7 @@ func (h hugo) run(force bool) { } // Prevent running if watching is enabled - if b, pos := variables.StringInSlice("--watch", h.Args); b && !force { + if b, pos := varutils.StringInSlice("--watch", h.Args); b && !force { if len(h.Args) > pos && h.Args[pos+1] != "false" { return } diff --git a/variables/types.go b/variables/types.go deleted file mode 100644 index ee43dad3..00000000 --- a/variables/types.go +++ /dev/null @@ -1,13 +0,0 @@ -package variables - -import "reflect" - -// IsMap checks if some variable is a map -func IsMap(sth interface{}) bool { - return reflect.ValueOf(sth).Kind() == reflect.Map -} - -// IsSlice checks if some variable is a slice -func IsSlice(sth interface{}) bool { - return reflect.ValueOf(sth).Kind() == reflect.Slice -} diff --git a/variables/types_test.go b/variables/types_test.go deleted file mode 100644 index d2d5e37b..00000000 --- a/variables/types_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package variables - -import "testing" - -type interfaceToBool struct { - Value interface{} - Result bool -} - -var testIsMap = []*interfaceToBool{ - {"teste", false}, - {453478, false}, - {-984512, false}, - {true, false}, - {map[string]bool{}, true}, - {map[int]bool{}, true}, - {map[interface{}]bool{}, true}, - {[]string{}, false}, -} - -func TestIsMap(t *testing.T) { - for _, test := range testIsMap { - if IsMap(test.Value) != test.Result { - t.Errorf("Incorrect value on IsMap for %v; want: %v; got: %v", test.Value, test.Result, !test.Result) - } - } -} - -var testIsSlice = []*interfaceToBool{ - {"teste", false}, - {453478, false}, - {-984512, false}, - {true, false}, - {map[string]bool{}, false}, - {map[int]bool{}, false}, - {map[interface{}]bool{}, false}, - {[]string{}, true}, - {[]int{}, true}, - {[]bool{}, true}, - {[]interface{}{}, true}, -} - -func TestIsSlice(t *testing.T) { - for _, test := range testIsSlice { - if IsSlice(test.Value) != test.Result { - t.Errorf("Incorrect value on IsSlice for %v; want: %v; got: %v", test.Value, test.Result, !test.Result) - } - } -} diff --git a/variables/variables.go b/variables/variables.go deleted file mode 100644 index 37782c74..00000000 --- a/variables/variables.go +++ /dev/null @@ -1,47 +0,0 @@ -package variables - -import ( - "errors" - "log" - "reflect" -) - -// Dict allows to send more than one variable into a template. -func Dict(values ...interface{}) (map[string]interface{}, error) { - if len(values)%2 != 0 { - return nil, errors.New("invalid dict call") - } - dict := make(map[string]interface{}, len(values)/2) - for i := 0; i < len(values); i += 2 { - key, ok := values[i].(string) - if !ok { - return nil, errors.New("dict keys must be strings") - } - dict[key] = values[i+1] - } - - return dict, nil -} - -// FieldInStruct checks if variable is defined in a struct. -func FieldInStruct(data interface{}, field string) bool { - t := reflect.Indirect(reflect.ValueOf(data)).Type() - - if t.Kind() != reflect.Struct { - log.Print("Non-struct type not allowed.") - return false - } - - _, b := t.FieldByName(field) - return b -} - -// StringInSlice checks if a slice contains a string. -func StringInSlice(a string, list []string) (bool, int) { - for i, b := range list { - if b == a { - return true, i - } - } - return false, 0 -} diff --git a/variables/variables_test.go b/variables/variables_test.go deleted file mode 100644 index 95dcd5ab..00000000 --- a/variables/variables_test.go +++ /dev/null @@ -1,41 +0,0 @@ -package variables - -import "testing" - -type testFieldInStructData struct { - f1 string - f2 bool - f3 int - f4 func() -} - -type testFieldInStruct struct { - data interface{} - field string - result bool -} - -var testFieldInStructCases = []testFieldInStruct{ - {testFieldInStructData{}, "f1", true}, - {testFieldInStructData{}, "f2", true}, - {testFieldInStructData{}, "f3", true}, - {testFieldInStructData{}, "f4", true}, - {testFieldInStructData{}, "f5", false}, - {[]string{}, "", false}, - {map[string]int{"oi": 4}, "", false}, - {"asa", "", false}, - {"int", "", false}, -} - -func TestFieldInStruct(t *testing.T) { - for _, pair := range testFieldInStructCases { - v := FieldInStruct(pair.data, pair.field) - if v != pair.result { - t.Error( - "For", pair.data, - "expected", pair.result, - "got", v, - ) - } - } -}