Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
26 lines
371 B
Go
26 lines
371 B
Go
package humanize
|
|
|
|
import "strconv"
|
|
|
|
// Ordinal gives you the input number in a rank/ordinal format.
|
|
//
|
|
// Ordinal(3) -> 3rd
|
|
func Ordinal(x int) string {
|
|
suffix := "th"
|
|
switch x % 10 {
|
|
case 1:
|
|
if x%100 != 11 {
|
|
suffix = "st"
|
|
}
|
|
case 2:
|
|
if x%100 != 12 {
|
|
suffix = "nd"
|
|
}
|
|
case 3:
|
|
if x%100 != 13 {
|
|
suffix = "rd"
|
|
}
|
|
}
|
|
return strconv.Itoa(x) + suffix
|
|
}
|