config

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2018 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Interface

type Interface interface {
	Init() error
	ReadConfig(configFilePath string) error
	Set(key string, value interface{})
	SetDefault(key string, value interface{})
	AllSettings() map[string]interface{}
	IsSet(key string) bool
	Get(key string) interface{}
	GetBool(key string) bool
	GetInt(key string) int
	GetString(key string) string
	GetStringSlice(key string) []string
	UnmarshalKey(key string, rawVal interface{}) error

	GetQuestion(questionKey string) (Question, error)
	GetQuestions() (map[string]Question, error)

	GetConfigTemplates() (map[string]Template, error)
	GetActiveConfigTemplate() (Template, error)
	GetExtraTemplates() (map[string]Template, error)
	GetActiveExtraTemplates() ([]Template, error)
}

Create mock using: mockgen -source=pkg/config/interface.go -destination=pkg/config/mock/mock_config.go

func Create

func Create() (Interface, error)

type Question

type Question struct {
	Description  string                 `mapstructure:"description"`
	DefaultValue interface{}            `mapstructure:"default_value"`
	Schema       map[string]interface{} `mapstructure:"schema"`
}

func (*Question) GetType

func (q *Question) GetType() string

func (*Question) Validate

func (q *Question) Validate(questionKey string, testValue interface{}) error

type Template

type Template struct {
	Content  string `mapstructure:"content"`
	FilePath string `mapstructure:"filepath"`
}

func (*Template) WriteConfigTemplate

func (t *Template) WriteConfigTemplate(answerData map[string]interface{}, configDir string) error

func (*Template) WriteTemplate

func (t *Template) WriteTemplate(answerData map[string]interface{}) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL