github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/fly/commands/internal/flaghelpers/variable_pair_flag.go (about)

     1  package flaghelpers
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/pf-qiu/concourse/v6/vars"
     7  )
     8  
     9  type VariablePairFlag vars.KVPair
    10  
    11  func (pair *VariablePairFlag) UnmarshalFlag(value string) error {
    12  	k, v, ok := parseKeyValuePair(value)
    13  	if !ok {
    14  		return fmt.Errorf("invalid variable pair '%s' (must be name=value)", value)
    15  	}
    16  
    17  	var err error
    18  	pair.Ref, err = vars.ParseReference(k)
    19  	if err != nil {
    20  		return err
    21  	}
    22  	pair.Value = v
    23  
    24  	return nil
    25  }