system

package
v0.9.8 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package system provides system builder which response for properties dependency injection.

The auto configuration composes properties object

Example

This example shows how to use the system build

package main

import ()

func main() {

}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App struct {
	Project  string   `json:"project" default:"hidevopsio"`
	Name     string   `json:"name" default:"hiboot-app"`
	Profiles Profiles `json:"profiles"`
}

App is the properties of the application, it hold the base info of the application

type Builder

type Builder struct {
	*viper.Viper
	Path       string
	Name       string
	FileType   string
	Profile    string
	ConfigType interface{}
}

Builder is the config file (yaml, json) builder

func NewBuilder added in v0.9.8

func NewBuilder(configType interface{}, path, name, fileType, profile string) *Builder

func (*Builder) Build

func (b *Builder) Build(profiles ...string) (interface{}, error)

Build config file

func (*Builder) BuildWithProfile added in v0.2.0

func (b *Builder) BuildWithProfile() (interface{}, error)

BuildWithProfile build config file

func (*Builder) Init

func (b *Builder) Init() error

Init create file if it's not exist

func (*Builder) New

func (b *Builder) New(name string)

New create new viper instance

func (*Builder) Read

func (b *Builder) Read(name string) (interface{}, error)

Read single file

func (*Builder) Save

func (b *Builder) Save(p interface{}) error

Save configurations to file

type Configuration

type Configuration struct {
	App     App     `mapstructure:"app"`
	Server  Server  `mapstructure:"server"`
	Logging Logging `mapstructure:"logging"`
}

Configuration is the system configuration

type Env

type Env struct {
	Name  string
	Value string
}

Env is the name value pair of environment variable

type ErrInvalidController added in v0.7.1

type ErrInvalidController struct {
	Name string
}

ErrInvalidController invalid controller

func (*ErrInvalidController) Error added in v0.7.1

func (e *ErrInvalidController) Error() string

type ErrNotFound added in v0.7.1

type ErrNotFound struct {
	Name string
}

ErrNotFound resource not found error

func (*ErrNotFound) Error added in v0.7.1

func (e *ErrNotFound) Error() string

type Logging

type Logging struct {
	Level string `json:"level" default:"info"`
}

Logging is the properties of logging

type Profiles

type Profiles struct {
	Include []string `json:"include"`
	Active  string   `json:"active" default:"${APP_PROFILES_ACTIVE:default}"`
}

Profiles is app profiles .include auto configuration starter should be included inside this slide .active active profile

type Server

type Server struct {
	Port string `json:"port" default:"8080"`
}

Server is the properties of http server

Directories

Path Synopsis
Package types provides all const types name
Package types provides all const types name

Jump to

Keyboard shortcuts

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