kabal 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kabal/languages/deutsch/fractional_numbers.rb +1 -1
- data/lib/kabal/languages/deutsch/natural_numbers.rb +1 -1
- data/lib/kabal/languages/english/fractional_numbers.rb +3 -2
- data/lib/kabal/languages/english/natural_numbers.rb +7 -7
- data/lib/kabal/languages/global/fractional_numbers.rb +1 -1
- data/lib/kabal/languages/global/natural_numbers.rb +1 -1
- data/lib/kabal/languages/language.rb +9 -1
- data/lib/kabal/languages/russian/fractional_numbers.rb +3 -3
- data/lib/kabal/languages/russian/natural_numbers.rb +5 -5
- data/lib/kabal/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c320388dd7d3d224706c90a97fcace03b2c86131
|
4
|
+
data.tar.gz: 90f36dc3e091c41cc0d119f83a35b4b41aba328d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4c81f9fb94f5ceb2c481ccd3df54d875c2f9002922503999878cafea214e6ffa18f926ffad1a0d180d4e555d266b6d7304b51b7340d8e77ce6961653dafe279
|
7
|
+
data.tar.gz: ebbb2434ceb4606f2419fee3483de0bf8a0b21b7d2501c795d79d042b305ae03cee211e2946bda5c37eddb6dd78bb91ac867c05168a980ff788959c077f545fd
|
@@ -2,7 +2,7 @@ module Kabal
|
|
2
2
|
module DeutschRules
|
3
3
|
module FractionalNumbers
|
4
4
|
def fractional_number_name(number)
|
5
|
-
whole_part_name(number)
|
5
|
+
join_with_spaces whole_part_name(number), dot, fractional_part_name(number)
|
6
6
|
end
|
7
7
|
|
8
8
|
def whole_part_name(number)
|
@@ -64,7 +64,7 @@ module Kabal
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def number_with_space(number)
|
67
|
-
@number_name = count_name(number)
|
67
|
+
@number_name = join_with_spaces(count_name(number), Declinations.name_with_declination(names[:ten_powers][number_order(number)], count(number))) + space
|
68
68
|
end
|
69
69
|
|
70
70
|
def number_without_space(number)
|
@@ -3,9 +3,10 @@ module Kabal
|
|
3
3
|
module FractionalNumbers
|
4
4
|
def fractional_number_name(number)
|
5
5
|
if whole_part_name(number) != ''
|
6
|
-
|
6
|
+
|
7
|
+
join_with_spaces whole_part_name(number), dot, fractional_part_name(number)
|
7
8
|
else
|
8
|
-
dot
|
9
|
+
join_with_spaces dot, fractional_part_name(number)
|
9
10
|
end
|
10
11
|
end
|
11
12
|
|
@@ -8,15 +8,15 @@ module Kabal
|
|
8
8
|
def two_words(number)
|
9
9
|
return single number if number <= 19
|
10
10
|
number_name = names[:two_words][number / 10]
|
11
|
-
number_name +=
|
11
|
+
number_name += space + single(number % 10) if (number % 10 != 0)
|
12
12
|
number_name
|
13
13
|
end
|
14
14
|
|
15
15
|
def three_words(number)
|
16
16
|
return two_words number if number <= 99
|
17
|
-
number_name = single(number / 100)
|
18
|
-
number_name +=
|
19
|
-
number_name +=
|
17
|
+
number_name = join_with_spaces single(number / 100), names[:ten_powers][2]
|
18
|
+
number_name += space + two_words(number % 100) if number % 100 >= 10
|
19
|
+
number_name += space + join_with_spaces(names[:and], single(number % 100)) if number % 100 < 10 && number % 100 != 0
|
20
20
|
number_name
|
21
21
|
end
|
22
22
|
|
@@ -28,13 +28,13 @@ module Kabal
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def count_name_with_order_name(number)
|
31
|
-
three_words(count(number))
|
31
|
+
join_with_spaces three_words(count(number)), names[:ten_powers][number_order(number)]
|
32
32
|
end
|
33
33
|
|
34
34
|
def less_thousands(number)
|
35
35
|
return if number == 0
|
36
|
-
@number_name +=
|
37
|
-
@number_name +=
|
36
|
+
@number_name += space + names[:and] if number < 100
|
37
|
+
@number_name += space + three_words(number % 1000) unless number == 0
|
38
38
|
end
|
39
39
|
end
|
40
40
|
end
|
@@ -23,7 +23,7 @@ module Kabal
|
|
23
23
|
def convert_number(number)
|
24
24
|
@number_name = nil
|
25
25
|
if need_minus? number
|
26
|
-
minus
|
26
|
+
join_with_spaces minus, number_words(-number)
|
27
27
|
else
|
28
28
|
number_words number
|
29
29
|
end
|
@@ -123,5 +123,13 @@ module Kabal
|
|
123
123
|
def need_minus?(number)
|
124
124
|
number < 0
|
125
125
|
end
|
126
|
+
|
127
|
+
def space
|
128
|
+
' '
|
129
|
+
end
|
130
|
+
|
131
|
+
def join_with_spaces(*words)
|
132
|
+
words.to_a.join space
|
133
|
+
end
|
126
134
|
end
|
127
135
|
end
|
@@ -2,18 +2,18 @@ module Kabal
|
|
2
2
|
module RussianRules
|
3
3
|
module FractionalNumbers
|
4
4
|
def fractional_number_name(number)
|
5
|
-
whole_part_name(number)
|
5
|
+
join_with_spaces whole_part_name(number), fractional_part_name(number)
|
6
6
|
end
|
7
7
|
|
8
8
|
def fractional_part_name(number)
|
9
9
|
fractional_part = (number % 1).round(fractional_part_order(number))
|
10
10
|
fractional_order = ((fractional_part) * (10**fractional_part_order(number))).to_s.split('.')[0].to_i
|
11
|
-
feminine_natural_number_name(fractional_order, true)
|
11
|
+
join_with_spaces feminine_natural_number_name(fractional_order, true), Declinations.name_with_declination(fractional_ten_powers_name(number), fractional_part)
|
12
12
|
end
|
13
13
|
|
14
14
|
def whole_part_name(number)
|
15
15
|
count = number.floor
|
16
|
-
feminine_natural_number_name(count)
|
16
|
+
join_with_spaces feminine_natural_number_name(count), Declinations.name_with_declination(whole, count)
|
17
17
|
end
|
18
18
|
|
19
19
|
def fractional_ten_powers_name(number)
|
@@ -24,15 +24,15 @@ module Kabal
|
|
24
24
|
def two_words(number, this_is_end = true)
|
25
25
|
return single(number, this_is_end) if number <= 19
|
26
26
|
number_name = names[:two_words][number / 10]
|
27
|
-
number_name +=
|
27
|
+
number_name += space + single(number % 10, this_is_end) if (number % 10 != 0)
|
28
28
|
number_name
|
29
29
|
end
|
30
30
|
|
31
31
|
def three_words(number, this_is_end = true)
|
32
32
|
return two_words(number, this_is_end) if number / 100 == 0
|
33
33
|
number_name = names[:three_words][number / 100]
|
34
|
-
return number_name +=
|
35
|
-
return number_name +=
|
34
|
+
return number_name += space + two_words(number % 100, this_is_end) if (number % 100 >= 20)
|
35
|
+
return number_name += space + single(number % 100, this_is_end) if (number % 100 != 0)
|
36
36
|
number_name
|
37
37
|
end
|
38
38
|
|
@@ -49,7 +49,7 @@ module Kabal
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def less_thousands(number)
|
52
|
-
@number_name +=
|
52
|
+
@number_name += space + three_words(number % 1000) unless number == 0
|
53
53
|
end
|
54
54
|
|
55
55
|
def count_name(number)
|
@@ -62,7 +62,7 @@ module Kabal
|
|
62
62
|
end
|
63
63
|
|
64
64
|
def count_name_with_order_name(number)
|
65
|
-
count_name(number)
|
65
|
+
join_with_spaces count_name(number), Declinations.name_with_declination(names[:ten_powers][number_order(number)], count(number))
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
data/lib/kabal/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kabal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kalashnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|