numbers_and_words 0.11.3 → 0.11.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.rdoc +59 -9
- data/lib/numbers_and_words.rb +2 -0
- data/lib/numbers_and_words/core_ext.rb +2 -0
- data/lib/numbers_and_words/core_ext/array.rb +2 -0
- data/lib/numbers_and_words/core_ext/float.rb +2 -0
- data/lib/numbers_and_words/core_ext/integer.rb +2 -0
- data/lib/numbers_and_words/helper_classes.rb +2 -0
- data/lib/numbers_and_words/helper_classes/array_extensions/helpers.rb +6 -4
- data/lib/numbers_and_words/helper_classes/figures_array.rb +2 -0
- data/lib/numbers_and_words/helper_classes/words_array.rb +2 -0
- data/lib/numbers_and_words/i18n.rb +2 -0
- data/lib/numbers_and_words/i18n/initialization.rb +2 -0
- data/lib/numbers_and_words/i18n/locales/numbers.hy.yml +7 -0
- data/lib/numbers_and_words/i18n/locales/numbers.kz.yml +7 -0
- data/lib/numbers_and_words/i18n/pluralization.rb +3 -1
- data/lib/numbers_and_words/i18n/plurals/cs.rb +15 -10
- data/lib/numbers_and_words/i18n/plurals/fr.rb +5 -3
- data/lib/numbers_and_words/i18n/plurals/lt.rb +10 -7
- data/lib/numbers_and_words/i18n/plurals/lv.rb +5 -3
- data/lib/numbers_and_words/i18n/plurals/plurals.rb +2 -0
- data/lib/numbers_and_words/i18n/plurals/ru.rb +15 -10
- data/lib/numbers_and_words/i18n/plurals/ua.rb +2 -0
- data/lib/numbers_and_words/strategies.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/base.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/cs.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/en-GB.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/en.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/es.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/families/base.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/fr.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/hu.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/pt-BR.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/ru.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/ua.rb +2 -0
- data/lib/numbers_and_words/strategies/array_joiner/languages/vi.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/cs.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/integral.rb +3 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/en/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/es.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/es/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/es/fractional.rb +3 -1
- data/lib/numbers_and_words/strategies/figures_converter/decorators/es/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/fr.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/hu.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ru.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ua.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/vi.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/fractional.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/integral.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages.rb +4 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/cs.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/de.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/en-GB.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/en.rb +3 -7
- data/lib/numbers_and_words/strategies/figures_converter/languages/es.rb +11 -11
- data/lib/numbers_and_words/strategies/figures_converter/languages/et.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/families/base.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/families/cyrillic.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/families/helpers.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/fr.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/hu.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/hy.rb +12 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/it.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/ka.rb +3 -3
- data/lib/numbers_and_words/strategies/figures_converter/languages/kz.rb +12 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/lt.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/lv.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/nl.rb +3 -3
- data/lib/numbers_and_words/strategies/figures_converter/languages/pt-BR.rb +13 -9
- data/lib/numbers_and_words/strategies/figures_converter/languages/pt.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/ru.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/se.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/tr.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/ua.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/vi.rb +4 -0
- data/lib/numbers_and_words/strategies/figures_converter/options.rb +15 -2
- data/lib/numbers_and_words/strategies/figures_converter/options/base.rb +5 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/base/gender.rb +30 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/base/ordinal.rb +28 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/base/remove_zero.rb +30 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/cs.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/cs/gender.rb +3 -14
- data/lib/numbers_and_words/strategies/figures_converter/options/cs/ordinal.rb +3 -15
- data/lib/numbers_and_words/strategies/figures_converter/options/cs/remove_zero.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/hundreds_with_union.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/ordinal.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/pronounced.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_hyphen.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_zero.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en/hundreds_with_union.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en/ordinal.rb +3 -10
- data/lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb +6 -13
- data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_hyphen.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_zero.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/es.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/es/apocopated.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/es/gender.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/es/remove_zero.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/hu.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/hu/ordinal.rb +3 -50
- data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/gender.rb +3 -18
- data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/ordinal.rb +3 -15
- data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/remove_zero.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/ru.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/ru/gender.rb +3 -17
- data/lib/numbers_and_words/strategies/figures_converter/options/ua.rb +2 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/ua/gender.rb +3 -17
- data/lib/numbers_and_words/translations.rb +4 -0
- data/lib/numbers_and_words/translations/base.rb +3 -1
- data/lib/numbers_and_words/translations/cs.rb +2 -0
- data/lib/numbers_and_words/translations/de.rb +2 -0
- data/lib/numbers_and_words/translations/en-GB.rb +2 -0
- data/lib/numbers_and_words/translations/en.rb +2 -0
- data/lib/numbers_and_words/translations/es.rb +10 -5
- data/lib/numbers_and_words/translations/et.rb +2 -0
- data/lib/numbers_and_words/translations/extensions/fraction_significance.rb +2 -0
- data/lib/numbers_and_words/translations/families/base.rb +2 -0
- data/lib/numbers_and_words/translations/families/cyrillic.rb +2 -0
- data/lib/numbers_and_words/translations/families/latin.rb +2 -0
- data/lib/numbers_and_words/translations/fr.rb +9 -7
- data/lib/numbers_and_words/translations/hu.rb +2 -0
- data/lib/numbers_and_words/translations/hy.rb +21 -0
- data/lib/numbers_and_words/translations/it.rb +2 -0
- data/lib/numbers_and_words/translations/ka.rb +3 -1
- data/lib/numbers_and_words/translations/kz.rb +9 -0
- data/lib/numbers_and_words/translations/lt.rb +2 -0
- data/lib/numbers_and_words/translations/lv.rb +2 -0
- data/lib/numbers_and_words/translations/nl.rb +3 -0
- data/lib/numbers_and_words/translations/pt-BR.rb +9 -2
- data/lib/numbers_and_words/translations/pt.rb +3 -0
- data/lib/numbers_and_words/translations/ru.rb +2 -0
- data/lib/numbers_and_words/translations/se.rb +2 -0
- data/lib/numbers_and_words/translations/tr.rb +2 -0
- data/lib/numbers_and_words/translations/ua.rb +2 -0
- data/lib/numbers_and_words/translations/vi.rb +5 -2
- data/lib/numbers_and_words/version.rb +3 -1
- data/lib/numbers_and_words/wrappers.rb +2 -0
- data/lib/numbers_and_words/wrappers/float.rb +3 -1
- data/lib/numbers_and_words/wrappers/integer.rb +2 -0
- metadata +28 -19
@@ -1,31 +1,36 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module NumbersAndWords
|
2
4
|
module I18n
|
3
5
|
module Plurals
|
4
6
|
module Ru
|
5
7
|
module_function
|
6
8
|
|
7
|
-
RULE = lambda do |
|
8
|
-
if one_conditions(
|
9
|
+
RULE = lambda do |number|
|
10
|
+
if one_conditions(number)
|
9
11
|
:one
|
10
|
-
elsif few_conditions(
|
12
|
+
elsif few_conditions(number)
|
11
13
|
:few
|
12
|
-
elsif many_conditions(
|
14
|
+
elsif many_conditions(number)
|
13
15
|
:many
|
14
16
|
else
|
15
17
|
:other
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
19
|
-
def one_conditions(
|
20
|
-
|
21
|
+
def one_conditions(number)
|
22
|
+
number % 10 == 1 && number % 100 != 11
|
21
23
|
end
|
22
24
|
|
23
|
-
def few_conditions(
|
24
|
-
[2, 3, 4].include?(
|
25
|
+
def few_conditions(number)
|
26
|
+
[2, 3, 4].include?(number % 10) &&
|
27
|
+
![12, 13, 14].include?(number % 100)
|
25
28
|
end
|
26
29
|
|
27
|
-
def many_conditions(
|
28
|
-
(
|
30
|
+
def many_conditions(number)
|
31
|
+
(number % 10).zero? ||
|
32
|
+
[5, 6, 7, 8, 9].include?(number % 10) ||
|
33
|
+
[11, 12, 13, 14].include?(number % 100)
|
29
34
|
end
|
30
35
|
end
|
31
36
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/cs/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/cs/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/cs/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module NumbersAndWords
|
2
4
|
module Strategies
|
3
5
|
module FiguresConverter
|
@@ -14,6 +16,7 @@ module NumbersAndWords
|
|
14
16
|
def integral_significance
|
15
17
|
figs = figures.reverse.join.to_i
|
16
18
|
return nil if @options[:remove_zero] && figs.zero?
|
19
|
+
|
17
20
|
@strategy.translations.integral figs
|
18
21
|
end
|
19
22
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/en-GB/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/en-GB/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/en-GB/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/en/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/en/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/en/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/es/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/es/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/es/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/fr/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/fr/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/fr/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/hu/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/hu/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/hu/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/pt-BR/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/pt-BR/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/pt-BR/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/ru/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/ru/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/ru/integral'
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'numbers_and_words/strategies/figures_converter/decorators/ua/base'
|
2
4
|
require 'numbers_and_words/strategies/figures_converter/decorators/ua/fractional'
|
3
5
|
require 'numbers_and_words/strategies/figures_converter/decorators/ua/integral'
|