util.Plural   B
last analyzed

Complexity

Conditions 7

Size

Total Lines 17
Code Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 7
eloc 11
dl 0
loc 17
rs 8
c 0
b 0
f 0
nop 4
1
package util
2
3
import (
4
	"fmt"
5
	"github.com/gen2brain/beeep"
6
)
7
8
func Notify(msg string) {
9
	err := beeep.Notify("", msg, "assets/icon.png")
10
	if err != nil {}
11
}
12
13
func Plural(n int, form1 string, form2 string, form5 string) string{
14
	// abs
15
	if n < 0 {
16
		n = -n
17
	}
18
	n1 := n % 10
19
20
	if n > 10 && n < 20 {
21
		return fmt.Sprintf("%d %s", n, form5)
22
	}
23
	if n1 > 1 && n1 < 5 {
24
		return fmt.Sprintf("%d %s", n, form2)
25
	}
26
	if n1 == 1 {
27
		return fmt.Sprintf("%d %s", n, form1)
28
	}
29
	return fmt.Sprintf("%d %s", n, form5)
30
}
31
32
func PluralMins(n int) string {
33
	return Plural(n, "минута", "минуты", "минут")
34
}
35
36
func PluralHours(n int) string {
37
	return Plural(n, "час", "часа", "часов")
38
}
39
40
func PluralTasks(n int) string {
41
	return Plural(n, "задача", "задачи", "задач")
42
}
43