MCPcopy Create free account
hub / github.com/AdRoll/baker / GenerateTextHelp

Function GenerateTextHelp

help_text.go:14–60  ·  view source on GitHub ↗

GenerateTextHelp generates non-formatted textual help for a Baker component from its description structure, into w.

(w io.Writer, desc interface{})

Source from the content-addressed store, hash-verified

12// GenerateTextHelp generates non-formatted textual help for a Baker
13// component from its description structure, into w.
14func GenerateTextHelp(w io.Writer, desc interface{}) error {
15 if desc == nil {
16 return fmt.Errorf("can't generate text help for a nil interface")
17 }
18
19 if reflect.TypeOf(desc).Kind() == reflect.Ptr {
20 // dereference pointer
21 desc = reflect.ValueOf(desc).Elem().Interface()
22 }
23
24 switch d := desc.(type) {
25 case InputDesc:
26 doc, err := newInputDoc(d)
27 if err != nil {
28 return err
29 }
30 genInputText(w, doc)
31 case FilterDesc:
32 doc, err := newFilterDoc(d)
33 if err != nil {
34 return err
35 }
36 genFilterText(w, doc)
37 case OutputDesc:
38 doc, err := newOutputDoc(d)
39 if err != nil {
40 return err
41 }
42 genOutputText(w, doc)
43 case UploadDesc:
44 doc, err := newUploadDoc(d)
45 if err != nil {
46 return err
47 }
48 genUploadText(w, doc)
49 case MetricsDesc:
50 doc, err := newMetricsDoc(d)
51 if err != nil {
52 return err
53 }
54 genMetricsText(w, doc)
55 default:
56 return fmt.Errorf("can't generate help, unsupported type %T", desc)
57 }
58
59 return nil
60}
61
62const (
63 helpTextHdrSfmt = "%-18s | %-18s | %-18s | %-8s | |"

Callers 1

TestGenerateHelpFunction · 0.85

Calls 10

newInputDocFunction · 0.85
genInputTextFunction · 0.85
newFilterDocFunction · 0.85
genFilterTextFunction · 0.85
newOutputDocFunction · 0.85
genOutputTextFunction · 0.85
newUploadDocFunction · 0.85
genUploadTextFunction · 0.85
newMetricsDocFunction · 0.85
genMetricsTextFunction · 0.85

Tested by 1

TestGenerateHelpFunction · 0.68