github.com/abhinav/git-pr@v0.6.1-0.20171029234004-54218d68c11b/cmd/git-pr/config.go (about)

     1  package main
     2  
     3  import (
     4  	"github.com/abhinav/git-pr/cli"
     5  	"github.com/abhinav/git-pr/pr"
     6  	"github.com/abhinav/git-pr/service"
     7  )
     8  
     9  // Common config for git-pr commands.
    10  type config struct {
    11  	cli.Config
    12  
    13  	Service service.PR
    14  }
    15  
    16  type configBuilder func() (config, error)
    17  
    18  func newConfigBuilder(cb cli.ConfigBuilder) configBuilder {
    19  	return func() (config, error) {
    20  		cfg, err := cb()
    21  		if err != nil {
    22  			return config{}, err
    23  		}
    24  
    25  		return config{
    26  			Config: cfg,
    27  			Service: pr.NewService(pr.ServiceConfig{
    28  				GitHub: cfg.GitHub(),
    29  				Git:    cfg.Git(),
    30  			}),
    31  		}, nil
    32  	}
    33  }