genny/actions/build_actions.go
func appendActions(f genny.File, pres *presenter) genny.RunFn {
	return func(r *genny.Runner) error {
		body := f.String()
		for _, ac := range pres.Options.Actions {
			a := name.New(ac)
			x := fmt.Sprintf("func %s%s", pres.Name.Pascalize(), a.Pascalize())
			if strings.Contains(body, x) {
				continue
			}
			pres.Actions = append(pres.Actions, a)
		}

		a, err := box.FindString("actions.go.tmpl")
		if err != nil {
			return err
		}

		f = genny.NewFileS(f.Name()+".tmpl", f.String()+a)

		f, err = transform(pres, f)
		if err != nil {
			return err
		}
		return r.File(f)
	}
}
func appendActions(f genny.File, pres *presenter) genny.RunFn {
	return func(r *genny.Runner) error {
		body := f.String()
		for _, ac := range pres.Options.Actions {
			a := name.New(ac)
			x := fmt.Sprintf("func %s%s", pres.Name.Pascalize(), a.Pascalize())
			if strings.Contains(body, x) {
				continue
			}
			pres.Actions = append(pres.Actions, a)
		}

		a, err := box.FindString("actions.go.tmpl")
		if err != nil {
			return err
		}

		f = genny.NewFileS(f.Name()+".tmpl", f.String()+a)

		f, err = transform(pres, f)
		if err != nil {
			return err
		}
		return r.File(f)
	}
}
// appendActions appends *only* actions that don't exist in
// actions/foo.go. if the action already exists it is not touched.