in whisk/action.go [69:88]
func (action Action) Compare(sortable Sortable) bool {
// Sorts alphabetically by NAMESPACE -> PACKAGE_NAME -> ACTION_NAME, with
// actions under default package at the top.
var actionString string
var compareString string
actionToCompare := sortable.(Action)
actionString = strings.ToLower(fmt.Sprintf("%s%s", action.Namespace, action.Name))
compareString = strings.ToLower(fmt.Sprintf("%s%s", actionToCompare.Namespace,
actionToCompare.Name))
if strings.Contains(action.Namespace, "/") && !strings.Contains(actionToCompare.Namespace, "/") {
return false
} else if !strings.Contains(action.Namespace, "/") && strings.Contains(actionToCompare.Namespace, "/") {
return true
} else if strings.Contains(action.Namespace, "/") && strings.Contains(actionToCompare.Namespace, "/") {
return actionString < compareString
} else {
return action.Name < actionToCompare.Name
}
}