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,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
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -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
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -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
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -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
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -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'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/decorators/vi/base'
2
4
  require 'numbers_and_words/strategies/figures_converter/decorators/vi/fractional'
3
5
  require 'numbers_and_words/strategies/figures_converter/decorators/vi/integral'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/languages/families/helpers'
2
4
  require 'numbers_and_words/strategies/figures_converter/languages/families/base'
3
5
  require 'numbers_and_words/strategies/figures_converter/languages/base'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -27,14 +29,8 @@ module NumbersAndWords
27
29
  def strings_logic
28
30
  if @options.pronounced.active?
29
31
  @options.pronounced.process self, @figures
30
- elsif @figures.capacity_count
31
- number_without_capacity_to_words + complex_number_to_words
32
- elsif @figures.hundreds
33
- hundreds_number_to_words
34
- elsif @figures.tens || @figures.ones
35
- simple_number_to_words
36
32
  else
37
- []
33
+ super
38
34
  end
39
35
  end
40
36
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -18,14 +20,10 @@ module NumbersAndWords
18
20
  end
19
21
 
20
22
  def tens_with_ones
21
- if @figures.tens == 2
22
- @translations
23
- .twenties_with_ones(@figures, gender: gender,
24
- is_apocopated: one_apocopated?)
25
- else
26
- super({ gender: gender,
27
- is_apocopated: one_apocopated? })
28
- end
23
+ options = { gender: gender, is_apocopated: one_apocopated? }
24
+ return @translations.twenties_with_ones(@figures, options) if @figures.tens == 2
25
+
26
+ super(options)
29
27
  end
30
28
 
31
29
  def hundreds
@@ -35,6 +33,7 @@ module NumbersAndWords
35
33
 
36
34
  def megs
37
35
  return @translations.megs(1, number: 1) if long_scale_thousand?
36
+
38
37
  super({ number: @figures.number_in_capacity(@current_capacity) })
39
38
  end
40
39
 
@@ -49,12 +48,12 @@ module NumbersAndWords
49
48
 
50
49
  def long_scale_thousand?
51
50
  @current_capacity.odd? &&
52
- @figures.number_in_capacity(@current_capacity - 1) != 0
51
+ !@figures.number_in_capacity(@current_capacity - 1).zero?
53
52
  end
54
53
 
55
54
  def one_apocopated?
56
- true if @current_capacity > 0 && @figures.ones == 1 ||
57
- @options.apocopated.result
55
+ @current_capacity.positive? && @figures.ones == 1 ||
56
+ @options.apocopated.result
58
57
  end
59
58
 
60
59
  def hundred_apocopated?
@@ -65,6 +64,7 @@ module NumbersAndWords
65
64
  @current_capacity ||= 0
66
65
 
67
66
  return :male if @current_capacity >= 2
67
+
68
68
  @options.gender.result
69
69
  end
70
70
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -9,10 +11,8 @@ module NumbersAndWords
9
11
 
10
12
  def capacity_iteration
11
13
  if FiguresArray::THOUSAND_CAPACITY == @current_capacity
12
- words = []
13
14
  capacity_words = words_in_capacity(@current_capacity)
14
- words.push megs unless capacity_words.empty?
15
- capacity_words.empty? ? [] : [capacity_words, words].join
15
+ capacity_words.empty? ? [] : [capacity_words, megs].join
16
16
  else
17
17
  super
18
18
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -56,8 +58,7 @@ module NumbersAndWords
56
58
  def gender
57
59
  return (options.gender.result || :male) if maybe_ordinal
58
60
 
59
- @current_capacity ||= 0
60
- if @current_capacity > 0 && figures[0] == 1
61
+ if current_capacity&.positive? && figures[0] == 1
61
62
  :male
62
63
  else
63
64
  options.gender.result
@@ -77,7 +78,10 @@ module NumbersAndWords
77
78
  end
78
79
 
79
80
  def one_thousand?
80
- current_capacity == 1 && figures[0] == 1 && figures.hundreds.nil? && figures.tens.nil?
81
+ current_capacity == 1 &&
82
+ figures.ones == 1 &&
83
+ figures.tens.nil? &&
84
+ figures.hundreds.nil?
81
85
  end
82
86
 
83
87
  def without_connector?
@@ -86,11 +90,13 @@ module NumbersAndWords
86
90
  (figures.tens_with_ones ||
87
91
  figures.tens ||
88
92
  figures.ones)
93
+
89
94
  false
90
95
  end
91
96
 
92
97
  def with_comma?
93
98
  return false unless @current_capacity > 1
99
+
94
100
  # if any lower capacity is single word, in portuguese only tens are single words
95
101
  number_under_capacity = figures.number_under_capacity(@current_capacity)
96
102
  return false if number_under_capacity < 20
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module FiguresConverter