// isFailure is a helper function that executes a block iff the status // is a form of failure, else it executes the else block. func isFailure(conditional bool, options *raymond.Options) string { if !conditional { return options.Inverse() } switch options.ParamStr(0) { case "failure", "error", "killed": return options.Fn() default: return options.Inverse() } }
// isSuccess is a helper function that executes a block iff the status // is success, else it executes the else block. func isSuccess(conditional bool, options *raymond.Options) string { if !conditional { return options.Inverse() } switch options.ParamStr(0) { case "success": return options.Fn() default: return options.Inverse() } }
func listHelper(context interface{}, options *raymond.Options) string { val := reflect.ValueOf(context) switch val.Kind() { case reflect.Array, reflect.Slice: if val.Len() > 0 { result := "<ul>" for i := 0; i < val.Len(); i++ { result += "<li>" result += options.FnWith(val.Index(i).Interface()) result += "</li>" } result += "</ul>" return result } } return "<p>" + options.Inverse() + "</p>" }