Skip to content

Atrox/store

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Store

Build Status Coverage Status Go Report Card GoDoc

Simple, painless, zero-config configuration storage

Installation

go get -u github.com/atrox/store
# or with dep
dep ensure -add github.com/atrox/store

Example

package main

import (
	"fmt"

	"github.com/atrox/store"
)

type Config struct {
	Name string `yaml:"name"`
	Age  int    `yaml:"age"`
}

func main() {
	storage, err := store.New("testapp")
	if err != nil {
		panic(err)
	}

	config := &Config{
		Name: "Dr. Robert Ford",
		Age:  70,
	}
	err = storage.Save(config)
	if err != nil {
		panic(err)
	}
	fmt.Printf("config is now saved at %s\n", storage.Path(config))
	// ~/.config/testapp/config.yaml

	config = &Config{}
	err = storage.Get(config)
	if err != nil {
		panic(err)
	}
	fmt.Printf("Config retrieved:\n%+v\n", config)
	// &{Name:Dr. Robert Ford Age:70}
}

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help: