numbers_and_words 0.11.5 → 0.11.6

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.
Files changed (172) hide show
  1. checksums.yaml +5 -5
  2. data/README.rdoc +1 -3
  3. data/lib/numbers_and_words.rb +2 -0
  4. data/lib/numbers_and_words/core_ext.rb +2 -0
  5. data/lib/numbers_and_words/core_ext/array.rb +2 -0
  6. data/lib/numbers_and_words/core_ext/float.rb +2 -0
  7. data/lib/numbers_and_words/core_ext/integer.rb +2 -0
  8. data/lib/numbers_and_words/helper_classes.rb +2 -0
  9. data/lib/numbers_and_words/helper_classes/array_extensions/helpers.rb +6 -4
  10. data/lib/numbers_and_words/helper_classes/figures_array.rb +2 -0
  11. data/lib/numbers_and_words/helper_classes/words_array.rb +2 -0
  12. data/lib/numbers_and_words/i18n.rb +2 -0
  13. data/lib/numbers_and_words/i18n/initialization.rb +2 -0
  14. data/lib/numbers_and_words/i18n/pluralization.rb +2 -0
  15. data/lib/numbers_and_words/i18n/plurals/cs.rb +2 -0
  16. data/lib/numbers_and_words/i18n/plurals/fr.rb +2 -0
  17. data/lib/numbers_and_words/i18n/plurals/lt.rb +2 -0
  18. data/lib/numbers_and_words/i18n/plurals/lv.rb +2 -0
  19. data/lib/numbers_and_words/i18n/plurals/plurals.rb +2 -0
  20. data/lib/numbers_and_words/i18n/plurals/ru.rb +2 -0
  21. data/lib/numbers_and_words/i18n/plurals/ua.rb +2 -0
  22. data/lib/numbers_and_words/strategies.rb +2 -0
  23. data/lib/numbers_and_words/strategies/array_joiner.rb +2 -0
  24. data/lib/numbers_and_words/strategies/array_joiner/languages.rb +2 -0
  25. data/lib/numbers_and_words/strategies/array_joiner/languages/base.rb +2 -0
  26. data/lib/numbers_and_words/strategies/array_joiner/languages/cs.rb +2 -0
  27. data/lib/numbers_and_words/strategies/array_joiner/languages/en-GB.rb +2 -0
  28. data/lib/numbers_and_words/strategies/array_joiner/languages/en.rb +2 -0
  29. data/lib/numbers_and_words/strategies/array_joiner/languages/es.rb +2 -0
  30. data/lib/numbers_and_words/strategies/array_joiner/languages/families/base.rb +2 -0
  31. data/lib/numbers_and_words/strategies/array_joiner/languages/fr.rb +2 -0
  32. data/lib/numbers_and_words/strategies/array_joiner/languages/hu.rb +2 -0
  33. data/lib/numbers_and_words/strategies/array_joiner/languages/pt-BR.rb +2 -0
  34. data/lib/numbers_and_words/strategies/array_joiner/languages/ru.rb +2 -0
  35. data/lib/numbers_and_words/strategies/array_joiner/languages/ua.rb +2 -0
  36. data/lib/numbers_and_words/strategies/array_joiner/languages/vi.rb +2 -0
  37. data/lib/numbers_and_words/strategies/figures_converter.rb +2 -0
  38. data/lib/numbers_and_words/strategies/figures_converter/decorators.rb +2 -0
  39. data/lib/numbers_and_words/strategies/figures_converter/decorators/base.rb +2 -0
  40. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs.rb +2 -0
  41. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/base.rb +2 -0
  42. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/fractional.rb +2 -0
  43. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/integral.rb +3 -0
  44. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB.rb +2 -0
  45. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/base.rb +2 -0
  46. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/fractional.rb +2 -0
  47. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/integral.rb +2 -0
  48. data/lib/numbers_and_words/strategies/figures_converter/decorators/en.rb +2 -0
  49. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/base.rb +2 -0
  50. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/fractional.rb +2 -0
  51. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/integral.rb +2 -0
  52. data/lib/numbers_and_words/strategies/figures_converter/decorators/es.rb +2 -0
  53. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/base.rb +2 -0
  54. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/fractional.rb +3 -1
  55. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/integral.rb +2 -0
  56. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr.rb +2 -0
  57. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/base.rb +2 -0
  58. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/fractional.rb +2 -0
  59. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/integral.rb +2 -0
  60. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu.rb +2 -0
  61. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/base.rb +2 -0
  62. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/fractional.rb +2 -0
  63. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/integral.rb +2 -0
  64. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR.rb +2 -0
  65. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/base.rb +2 -0
  66. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/fractional.rb +2 -0
  67. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/integral.rb +2 -0
  68. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru.rb +2 -0
  69. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/base.rb +2 -0
  70. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/fractional.rb +2 -0
  71. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/integral.rb +2 -0
  72. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua.rb +2 -0
  73. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/base.rb +2 -0
  74. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/fractional.rb +2 -0
  75. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/integral.rb +2 -0
  76. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi.rb +2 -0
  77. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/base.rb +2 -0
  78. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/fractional.rb +2 -0
  79. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/integral.rb +2 -0
  80. data/lib/numbers_and_words/strategies/figures_converter/languages.rb +2 -0
  81. data/lib/numbers_and_words/strategies/figures_converter/languages/base.rb +2 -0
  82. data/lib/numbers_and_words/strategies/figures_converter/languages/cs.rb +2 -0
  83. data/lib/numbers_and_words/strategies/figures_converter/languages/de.rb +2 -0
  84. data/lib/numbers_and_words/strategies/figures_converter/languages/en-GB.rb +2 -0
  85. data/lib/numbers_and_words/strategies/figures_converter/languages/en.rb +3 -7
  86. data/lib/numbers_and_words/strategies/figures_converter/languages/es.rb +11 -11
  87. data/lib/numbers_and_words/strategies/figures_converter/languages/et.rb +2 -0
  88. data/lib/numbers_and_words/strategies/figures_converter/languages/families/base.rb +2 -0
  89. data/lib/numbers_and_words/strategies/figures_converter/languages/families/cyrillic.rb +2 -0
  90. data/lib/numbers_and_words/strategies/figures_converter/languages/families/helpers.rb +2 -0
  91. data/lib/numbers_and_words/strategies/figures_converter/languages/fr.rb +2 -0
  92. data/lib/numbers_and_words/strategies/figures_converter/languages/hu.rb +2 -0
  93. data/lib/numbers_and_words/strategies/figures_converter/languages/hy.rb +2 -0
  94. data/lib/numbers_and_words/strategies/figures_converter/languages/it.rb +2 -0
  95. data/lib/numbers_and_words/strategies/figures_converter/languages/ka.rb +2 -0
  96. data/lib/numbers_and_words/strategies/figures_converter/languages/lt.rb +2 -0
  97. data/lib/numbers_and_words/strategies/figures_converter/languages/lv.rb +2 -0
  98. data/lib/numbers_and_words/strategies/figures_converter/languages/nl.rb +3 -3
  99. data/lib/numbers_and_words/strategies/figures_converter/languages/pt-BR.rb +9 -3
  100. data/lib/numbers_and_words/strategies/figures_converter/languages/pt.rb +2 -0
  101. data/lib/numbers_and_words/strategies/figures_converter/languages/ru.rb +2 -0
  102. data/lib/numbers_and_words/strategies/figures_converter/languages/se.rb +2 -0
  103. data/lib/numbers_and_words/strategies/figures_converter/languages/tr.rb +2 -0
  104. data/lib/numbers_and_words/strategies/figures_converter/languages/ua.rb +2 -0
  105. data/lib/numbers_and_words/strategies/figures_converter/languages/vi.rb +4 -0
  106. data/lib/numbers_and_words/strategies/figures_converter/options.rb +14 -1
  107. data/lib/numbers_and_words/strategies/figures_converter/options/base.rb +5 -0
  108. data/lib/numbers_and_words/strategies/figures_converter/options/base/gender.rb +30 -0
  109. data/lib/numbers_and_words/strategies/figures_converter/options/base/ordinal.rb +28 -0
  110. data/lib/numbers_and_words/strategies/figures_converter/options/base/remove_zero.rb +30 -0
  111. data/lib/numbers_and_words/strategies/figures_converter/options/cs.rb +2 -0
  112. data/lib/numbers_and_words/strategies/figures_converter/options/cs/gender.rb +3 -14
  113. data/lib/numbers_and_words/strategies/figures_converter/options/cs/ordinal.rb +3 -15
  114. data/lib/numbers_and_words/strategies/figures_converter/options/cs/remove_zero.rb +3 -17
  115. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB.rb +2 -0
  116. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/hundreds_with_union.rb +2 -0
  117. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/ordinal.rb +2 -0
  118. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/pronounced.rb +2 -0
  119. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_hyphen.rb +2 -0
  120. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_zero.rb +2 -0
  121. data/lib/numbers_and_words/strategies/figures_converter/options/en.rb +2 -0
  122. data/lib/numbers_and_words/strategies/figures_converter/options/en/hundreds_with_union.rb +2 -0
  123. data/lib/numbers_and_words/strategies/figures_converter/options/en/ordinal.rb +3 -10
  124. data/lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb +6 -13
  125. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_hyphen.rb +2 -0
  126. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_zero.rb +3 -17
  127. data/lib/numbers_and_words/strategies/figures_converter/options/es.rb +2 -0
  128. data/lib/numbers_and_words/strategies/figures_converter/options/es/apocopated.rb +2 -0
  129. data/lib/numbers_and_words/strategies/figures_converter/options/es/gender.rb +3 -17
  130. data/lib/numbers_and_words/strategies/figures_converter/options/es/remove_zero.rb +3 -17
  131. data/lib/numbers_and_words/strategies/figures_converter/options/hu.rb +2 -0
  132. data/lib/numbers_and_words/strategies/figures_converter/options/hu/ordinal.rb +3 -50
  133. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR.rb +2 -0
  134. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/gender.rb +3 -18
  135. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/ordinal.rb +3 -15
  136. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/remove_zero.rb +3 -17
  137. data/lib/numbers_and_words/strategies/figures_converter/options/ru.rb +2 -0
  138. data/lib/numbers_and_words/strategies/figures_converter/options/ru/gender.rb +3 -17
  139. data/lib/numbers_and_words/strategies/figures_converter/options/ua.rb +2 -0
  140. data/lib/numbers_and_words/strategies/figures_converter/options/ua/gender.rb +3 -17
  141. data/lib/numbers_and_words/translations.rb +2 -0
  142. data/lib/numbers_and_words/translations/base.rb +2 -0
  143. data/lib/numbers_and_words/translations/cs.rb +2 -0
  144. data/lib/numbers_and_words/translations/de.rb +2 -0
  145. data/lib/numbers_and_words/translations/en-GB.rb +2 -0
  146. data/lib/numbers_and_words/translations/en.rb +2 -0
  147. data/lib/numbers_and_words/translations/es.rb +10 -5
  148. data/lib/numbers_and_words/translations/et.rb +2 -0
  149. data/lib/numbers_and_words/translations/extensions/fraction_significance.rb +2 -0
  150. data/lib/numbers_and_words/translations/families/base.rb +2 -0
  151. data/lib/numbers_and_words/translations/families/cyrillic.rb +2 -0
  152. data/lib/numbers_and_words/translations/families/latin.rb +2 -0
  153. data/lib/numbers_and_words/translations/fr.rb +9 -7
  154. data/lib/numbers_and_words/translations/hu.rb +2 -0
  155. data/lib/numbers_and_words/translations/hy.rb +2 -0
  156. data/lib/numbers_and_words/translations/it.rb +2 -0
  157. data/lib/numbers_and_words/translations/ka.rb +3 -1
  158. data/lib/numbers_and_words/translations/lt.rb +2 -0
  159. data/lib/numbers_and_words/translations/lv.rb +2 -0
  160. data/lib/numbers_and_words/translations/nl.rb +3 -0
  161. data/lib/numbers_and_words/translations/pt-BR.rb +9 -2
  162. data/lib/numbers_and_words/translations/pt.rb +3 -0
  163. data/lib/numbers_and_words/translations/ru.rb +2 -0
  164. data/lib/numbers_and_words/translations/se.rb +2 -0
  165. data/lib/numbers_and_words/translations/tr.rb +2 -0
  166. data/lib/numbers_and_words/translations/ua.rb +2 -0
  167. data/lib/numbers_and_words/translations/vi.rb +5 -2
  168. data/lib/numbers_and_words/version.rb +3 -1
  169. data/lib/numbers_and_words/wrappers.rb +2 -0
  170. data/lib/numbers_and_words/wrappers/float.rb +3 -1
  171. data/lib/numbers_and_words/wrappers/integer.rb +2 -0
  172. metadata +7 -4
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/options/hu/ordinal'
@@ -1,58 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module Hu
6
- class Ordinal
7
- ZERO_TYPE = :zero
8
- HUNDRED_TYPE = :hundreds
9
- MEGS_TYPE = :megs
10
-
11
- def initialize(proxy, *_args)
12
- @strategy = proxy.strategy
13
- @options = proxy.options
14
- end
15
-
16
- def result(type)
17
- @type = type
18
- MEGS_TYPE != type ? check_simple_numbers : check_megs_numbers
19
- end
20
-
21
- private
22
-
23
- def active?
24
- @options[:ordinal]
25
- end
26
-
27
- def check_simple_numbers
28
- :ordinal if simple_numbers_condition && active?
29
- end
30
-
31
- def check_megs_numbers
32
- :ordinal if megs_numbers_condition && active?
33
- end
34
-
35
- def simple_numbers_condition
36
- current_capacity.nil? &&
37
- (HUNDRED_TYPE != @type ||
38
- HUNDRED_TYPE == @type && simple_number_to_words.empty?)
39
- end
40
-
41
- def megs_numbers_condition
42
- current_capacity == language_figures.ordinal_capacity
43
- end
44
-
45
- def simple_number_to_words
46
- @strategy.language.simple_number_to_words
47
- end
48
-
49
- def current_capacity
50
- @strategy.language.current_capacity
51
- end
52
-
53
- def language_figures
54
- @strategy.language.parent_figures
55
- end
8
+ class Ordinal < En::Ordinal
56
9
  end
57
10
  end
58
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/options/pt-BR/gender'
2
4
  require 'numbers_and_words/strategies/figures_converter/options/pt-BR/ordinal'
3
5
  require 'numbers_and_words/strategies/figures_converter/options/pt-BR/remove_zero'
@@ -1,26 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module PtBr
6
- class Gender
7
- attr_accessor :strategy, :options
8
-
9
- def initialize(proxy, *_args)
10
- @strategy = proxy.strategy
11
- @options = proxy.options
12
- end
13
-
14
- def result
15
- gender = active? ? @options[:gender].to_sym : :male
16
- %i[male female].include?(gender) ? gender : :male
17
- end
18
-
19
- private
20
-
21
- def active?
22
- @options[:gender]
23
- end
8
+ class Gender < Base::Gender
24
9
  end
25
10
  end
26
11
  end
@@ -1,23 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module PtBr
6
- class Ordinal
7
- def initialize(proxy, *_args)
8
- @strategy = proxy.strategy
9
- @options = proxy.options
10
- end
11
-
12
- def result
13
- return :ordinal if active?
14
- end
15
-
16
- private
17
-
18
- def active?
19
- @options[:ordinal]
20
- end
8
+ class Ordinal < Base::Ordinal
21
9
  end
22
10
  end
23
11
  end
@@ -1,25 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module PtBr
6
- class RemoveZero
7
- attr_accessor :strategy, :options
8
-
9
- def initialize(proxy, *_args)
10
- @strategy = proxy.strategy
11
- @options = proxy.options
12
- end
13
-
14
- def result
15
- active?
16
- end
17
-
18
- private
19
-
20
- def active?
21
- @options[:remove_zero]
22
- end
8
+ class RemoveZero < Base::RemoveZero
23
9
  end
24
10
  end
25
11
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/options/ru/gender'
@@ -1,25 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module Ru
6
- class Gender
7
- attr_accessor :strategy, :options
8
-
9
- def initialize(proxy, *_args)
10
- @strategy = proxy.strategy
11
- @options = proxy.options
12
- end
13
-
14
- def result
15
- active? ? @options[:gender].to_sym : :male
16
- end
17
-
18
- private
19
-
20
- def active?
21
- @options[:gender]
22
- end
8
+ class Gender < Base::Gender
23
9
  end
24
10
  end
25
11
  end
@@ -1 +1,3 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/options/ua/gender'
@@ -1,25 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
4
6
  module Options
5
7
  module Ua
6
- class Gender
7
- attr_accessor :strategy, :options
8
-
9
- def initialize(proxy, *_args)
10
- @strategy = proxy.strategy
11
- @options = proxy.options
12
- end
13
-
14
- def result
15
- active? ? @options[:gender].to_sym : :male
16
- end
17
-
18
- private
19
-
20
- def active?
21
- @options[:gender]
22
- end
8
+ class Gender < Base::Gender
23
9
  end
24
10
  end
25
11
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/translations/base'
2
4
  require 'numbers_and_words/translations/families/base'
3
5
  require 'numbers_and_words/translations/families/cyrillic'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Cs < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class De < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class EnGb < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class En < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Es < Base
@@ -5,13 +7,14 @@ module NumbersAndWords
5
7
  include NumbersAndWords::Translations::Extensions::FractionSignificance
6
8
 
7
9
  def zero(_options = {})
8
- t(%i[ones male].join('.'))[0]
10
+ t('ones.male')[0]
9
11
  end
10
12
 
11
13
  def ones(number, options = {})
12
14
  return if options[:is_one_thousand]
13
- return t(%i[ones apocopated].join('.')) if number == 1 &&
14
- options[:is_apocopated]
15
+ return t('ones.apocopated') if number == 1 &&
16
+ options[:is_apocopated]
17
+
15
18
  t([:ones, options[:gender]].join('.'))[number]
16
19
  end
17
20
 
@@ -20,12 +23,14 @@ module NumbersAndWords
20
23
  end
21
24
 
22
25
  def twenties_with_ones(numbers, options = {})
23
- return t(%i[twenties apocopated].join('.')) if options[:is_apocopated]
26
+ return t('twenties.apocopated') if options[:is_apocopated]
27
+
24
28
  t([:twenties, options[:gender]].join('.'))[numbers[0]]
25
29
  end
26
30
 
27
31
  def hundreds(number, options = {})
28
- return t(%i[hundreds apocopated].join('.')) if options[:is_apocopated]
32
+ return t('hundreds.apocopated') if options[:is_apocopated]
33
+
29
34
  t([:hundreds, options[:gender]].join('.'))[number]
30
35
  end
31
36
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Et < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  module Extensions
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  module Families
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  module Families
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  module Families
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Fr < Base
@@ -8,16 +10,15 @@ module NumbersAndWords
8
10
 
9
11
  def tens(number, options = {})
10
12
  return t(:eighty) if number == SPECIAL_TENS_CASE && options[:alone].nil?
13
+
11
14
  super number, options
12
15
  end
13
16
 
14
- def tens_with_ones(numbers, _options = {})
15
- if [7, 9].include? numbers[1]
16
- [tens(numbers[1] - 1, alone: false), teens(numbers)].join('-')
17
- else
18
- separator = numbers[0] == 1 ? " #{union} " : '-'
19
- [tens(numbers[1], alone: false), ones(numbers[0])].join(separator)
20
- end
17
+ def tens_with_ones(numbers, options = {})
18
+ return [tens(numbers[1] - 1, alone: false), teens(numbers)].join('-') if [7, 9].include? numbers[1]
19
+
20
+ separator = numbers[0] == 1 ? " #{union} " : '-'
21
+ super numbers, options.merge(separator: separator)
21
22
  end
22
23
 
23
24
  def hundreds(number, options = {})
@@ -25,6 +26,7 @@ module NumbersAndWords
25
26
  hundreds = t(:hundreds, count: count)
26
27
 
27
28
  return hundreds if number == 1
29
+
28
30
  [t(:ones)[number], hundreds].join(' ')
29
31
  end
30
32
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Hu < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Hy < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class It < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Ka < Base
@@ -40,7 +42,7 @@ module NumbersAndWords
40
42
  def tens_with_ones(numbers, _options = {})
41
43
  range = vigesimal_range(numbers[1])
42
44
 
43
- minor = if numbers[1] - range[:multiplicative] > 0
45
+ minor = if (numbers[1] - range[:multiplicative]).positive?
44
46
  teens(numbers)
45
47
  else
46
48
  ones(numbers[0])
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Lt < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Lv < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Translations
3
5
  class Nl < Base
@@ -9,6 +11,7 @@ module NumbersAndWords
9
11
 
10
12
  def hundreds(number, _options = {})
11
13
  return t(:hundreds) if number == 1
14
+
12
15
  super number, separator: ''
13
16
  end
14
17
  end