github.com/segakazzz/buffalo@v0.16.22-0.20210119082501-1f52048d3feb/genny/docker/options.go (about) 1 package docker 2 3 import ( 4 "fmt" 5 6 "github.com/gobuffalo/buffalo/runtime" 7 "github.com/gobuffalo/meta" 8 ) 9 10 type Options struct { 11 App meta.App `json:"app"` 12 Version string `json:"version"` 13 Style string `json:"style"` 14 } 15 16 // Validate that options are usuable 17 func (opts *Options) Validate() error { 18 if opts.App.IsZero() { 19 opts.App = meta.New(".") 20 } 21 if len(opts.Version) == 0 { 22 opts.Version = runtime.Version 23 } 24 if len(opts.Style) == 0 { 25 opts.Style = "multi" 26 } 27 28 switch opts.Style { 29 case "multi", "standard": 30 default: 31 return fmt.Errorf("unknown style option %s", opts.Style) 32 } 33 34 return nil 35 }