Passed
Push — master ( 506188...263cb0 )
by Serhii
03:10 queued 01:33
created

rules.go   A

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
cc 14
eloc 15
dl 0
loc 19
ccs 1
cts 1
cp 1
crap 14
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
F timeago.getRules 0 15 14
1
package timeago
2
3
import "github.com/SerhiiCho/timeago/models"
4
5
func getRules(number, lastDigit int) map[string]models.Rule {
6 1
	return map[string]models.Rule{
7
		"en": {
8
			Single: number == 1,
9
			Plural: number > 1 || number == 0,
10
		},
11
		"ru": {
12
			Special: (number >= 5 && number <= 20) || lastDigit == 0 || (lastDigit >= 5 && lastDigit <= 9),
13
			Single:  lastDigit == 1 || number == 0,
14
			Plural:  lastDigit >= 2 && lastDigit < 5,
15
		},
16
		"uk": {
17
			Special: (number >= 5 && number <= 20) || lastDigit == 0 || (lastDigit >= 5 && lastDigit <= 9),
18
			Single:  lastDigit == 1 || number == 0,
19
			Plural:  lastDigit >= 2 && lastDigit < 5,
20
		},
21
	}
22
}
23