numbers_and_words 0.11.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/lib/numbers_and_words/core_ext/array.rb +2 -2
  3. data/lib/numbers_and_words/core_ext/float.rb +1 -1
  4. data/lib/numbers_and_words/core_ext/integer.rb +1 -1
  5. data/lib/numbers_and_words/helper_classes.rb +1 -1
  6. data/lib/numbers_and_words/helper_classes/array_extensions/helpers.rb +11 -12
  7. data/lib/numbers_and_words/helper_classes/figures_array.rb +1 -4
  8. data/lib/numbers_and_words/helper_classes/words_array.rb +2 -4
  9. data/lib/numbers_and_words/i18n.rb +4 -4
  10. data/lib/numbers_and_words/i18n/initialization.rb +2 -2
  11. data/lib/numbers_and_words/i18n/locales/numbers.en.yml +3 -3
  12. data/lib/numbers_and_words/i18n/locales/numbers.es.yml +86 -25
  13. data/lib/numbers_and_words/i18n/locales/numbers.fr.yml +54 -1
  14. data/lib/numbers_and_words/i18n/locales/numbers.pt-BR.yml +4 -4
  15. data/lib/numbers_and_words/i18n/locales/numbers.pt.yml +0 -1
  16. data/lib/numbers_and_words/i18n/pluralization.rb +2 -3
  17. data/lib/numbers_and_words/i18n/plurals/fr.rb +3 -3
  18. data/lib/numbers_and_words/i18n/plurals/lt.rb +11 -8
  19. data/lib/numbers_and_words/i18n/plurals/lv.rb +3 -3
  20. data/lib/numbers_and_words/i18n/plurals/ru.rb +15 -10
  21. data/lib/numbers_and_words/strategies.rb +1 -1
  22. data/lib/numbers_and_words/strategies/array_joiner.rb +1 -2
  23. data/lib/numbers_and_words/strategies/array_joiner/languages.rb +3 -1
  24. data/lib/numbers_and_words/strategies/array_joiner/languages/base.rb +1 -1
  25. data/lib/numbers_and_words/strategies/array_joiner/languages/es.rb +10 -0
  26. data/lib/numbers_and_words/strategies/array_joiner/languages/families/base.rb +0 -1
  27. data/lib/numbers_and_words/strategies/array_joiner/languages/fr.rb +10 -0
  28. data/lib/numbers_and_words/strategies/figures_converter.rb +1 -2
  29. data/lib/numbers_and_words/strategies/figures_converter/decorators.rb +8 -6
  30. data/lib/numbers_and_words/strategies/figures_converter/decorators/base.rb +2 -2
  31. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/base.rb +1 -1
  32. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/fractional.rb +2 -3
  33. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/integral.rb +1 -1
  34. data/lib/numbers_and_words/strategies/figures_converter/decorators/es.rb +3 -0
  35. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/base.rb +12 -0
  36. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/fractional.rb +38 -0
  37. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/integral.rb +12 -0
  38. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr.rb +3 -0
  39. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/base.rb +12 -0
  40. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/fractional.rb +37 -0
  41. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/integral.rb +12 -0
  42. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu.rb +1 -1
  43. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/base.rb +1 -1
  44. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/fractional.rb +2 -3
  45. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/integral.rb +1 -1
  46. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/fractional.rb +1 -2
  47. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/base.rb +1 -1
  48. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/fractional.rb +2 -3
  49. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/integral.rb +1 -2
  50. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/base.rb +1 -1
  51. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/fractional.rb +2 -3
  52. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/integral.rb +1 -2
  53. data/lib/numbers_and_words/strategies/figures_converter/languages.rb +1 -1
  54. data/lib/numbers_and_words/strategies/figures_converter/languages/base.rb +1 -1
  55. data/lib/numbers_and_words/strategies/figures_converter/languages/de.rb +9 -9
  56. data/lib/numbers_and_words/strategies/figures_converter/languages/en-GB.rb +1 -1
  57. data/lib/numbers_and_words/strategies/figures_converter/languages/en.rb +17 -19
  58. data/lib/numbers_and_words/strategies/figures_converter/languages/es.rb +50 -25
  59. data/lib/numbers_and_words/strategies/figures_converter/languages/et.rb +1 -2
  60. data/lib/numbers_and_words/strategies/figures_converter/languages/families/base.rb +5 -5
  61. data/lib/numbers_and_words/strategies/figures_converter/languages/families/cyrillic.rb +5 -5
  62. data/lib/numbers_and_words/strategies/figures_converter/languages/families/helpers.rb +10 -14
  63. data/lib/numbers_and_words/strategies/figures_converter/languages/fr.rb +7 -7
  64. data/lib/numbers_and_words/strategies/figures_converter/languages/hu.rb +8 -8
  65. data/lib/numbers_and_words/strategies/figures_converter/languages/ka.rb +8 -10
  66. data/lib/numbers_and_words/strategies/figures_converter/languages/lt.rb +6 -6
  67. data/lib/numbers_and_words/strategies/figures_converter/languages/lv.rb +2 -2
  68. data/lib/numbers_and_words/strategies/figures_converter/languages/pt-BR.rb +24 -26
  69. data/lib/numbers_and_words/strategies/figures_converter/languages/pt.rb +6 -7
  70. data/lib/numbers_and_words/strategies/figures_converter/languages/tr.rb +4 -4
  71. data/lib/numbers_and_words/strategies/figures_converter/options.rb +6 -5
  72. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/hundreds_with_union.rb +1 -1
  73. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/ordinal.rb +1 -1
  74. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_hyphen.rb +1 -1
  75. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_zero.rb +1 -1
  76. data/lib/numbers_and_words/strategies/figures_converter/options/en/hundreds_with_union.rb +3 -3
  77. data/lib/numbers_and_words/strategies/figures_converter/options/en/ordinal.rb +3 -3
  78. data/lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb +14 -23
  79. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_hyphen.rb +2 -3
  80. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_zero.rb +2 -2
  81. data/lib/numbers_and_words/strategies/figures_converter/options/es.rb +3 -0
  82. data/lib/numbers_and_words/strategies/figures_converter/options/es/apocopated.rb +28 -0
  83. data/lib/numbers_and_words/strategies/figures_converter/options/es/gender.rb +28 -0
  84. data/lib/numbers_and_words/strategies/figures_converter/options/es/remove_zero.rb +28 -0
  85. data/lib/numbers_and_words/strategies/figures_converter/options/hu/ordinal.rb +3 -3
  86. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/gender.rb +2 -2
  87. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/ordinal.rb +1 -1
  88. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/remove_zero.rb +1 -1
  89. data/lib/numbers_and_words/strategies/figures_converter/options/ru/gender.rb +2 -2
  90. data/lib/numbers_and_words/strategies/figures_converter/options/ua/gender.rb +2 -2
  91. data/lib/numbers_and_words/translations/base.rb +2 -2
  92. data/lib/numbers_and_words/translations/de.rb +5 -5
  93. data/lib/numbers_and_words/translations/es.rb +29 -24
  94. data/lib/numbers_and_words/translations/et.rb +3 -3
  95. data/lib/numbers_and_words/translations/extensions/fraction_significance.rb +4 -5
  96. data/lib/numbers_and_words/translations/families/base.rb +8 -8
  97. data/lib/numbers_and_words/translations/families/cyrillic.rb +6 -6
  98. data/lib/numbers_and_words/translations/families/latin.rb +6 -6
  99. data/lib/numbers_and_words/translations/fr.rb +16 -8
  100. data/lib/numbers_and_words/translations/hu.rb +3 -3
  101. data/lib/numbers_and_words/translations/it.rb +3 -3
  102. data/lib/numbers_and_words/translations/ka.rb +13 -13
  103. data/lib/numbers_and_words/translations/lt.rb +4 -5
  104. data/lib/numbers_and_words/translations/lv.rb +4 -5
  105. data/lib/numbers_and_words/translations/nl.rb +3 -3
  106. data/lib/numbers_and_words/translations/pt-BR.rb +18 -18
  107. data/lib/numbers_and_words/translations/pt.rb +4 -5
  108. data/lib/numbers_and_words/translations/ru.rb +5 -5
  109. data/lib/numbers_and_words/translations/se.rb +2 -2
  110. data/lib/numbers_and_words/translations/tr.rb +3 -4
  111. data/lib/numbers_and_words/translations/ua.rb +3 -3
  112. data/lib/numbers_and_words/version.rb +1 -1
  113. data/lib/numbers_and_words/wrappers.rb +1 -1
  114. data/lib/numbers_and_words/wrappers/float.rb +9 -9
  115. data/lib/numbers_and_words/wrappers/integer.rb +3 -3
  116. metadata +16 -4
  117. data/lib/numbers_and_words/helper_classes/array_extensions/validations.rb +0 -19
  118. data/lib/numbers_and_words/i18n/plurals/pt-BR.rb +0 -15
@@ -4,28 +4,24 @@ module NumbersAndWords
4
4
  module Languages
5
5
  module Families
6
6
  module Helpers
7
- [:zero].each do |method_name|
8
- define_method(method_name) { |*args|
9
- options = args.first || {}
10
- translate method_name, options
11
- }
7
+ def zero(*args)
8
+ options = args.first || {}
9
+ translate :zero, options
12
10
  end
13
11
 
14
- [:ones, :teens, :tens, :tens_with_ones, :hundreds].each do |method_name|
15
- define_method(method_name) { |*args|
12
+ %i[ones teens tens tens_with_ones hundreds].each do |method_name|
13
+ define_method(method_name) do |*args|
16
14
  options = args.first || {}
17
15
  translate method_name, @figures.send(method_name), options
18
- }
16
+ end
19
17
  end
20
18
 
21
- [:megs].each do |method_name|
22
- define_method(method_name) { |*args|
23
- options = args.first || {}
24
- translate method_name, @current_capacity, options
25
- }
19
+ def megs(*args)
20
+ options = args.first || {}
21
+ translate :megs, @current_capacity, options
26
22
  end
27
23
 
28
- def translate method_name, *args
24
+ def translate(method_name, *args)
29
25
  translations.send method_name, *args
30
26
  end
31
27
  end
@@ -11,27 +11,27 @@ module NumbersAndWords
11
11
  words = []
12
12
  capacity_words = words_in_capacity(@current_capacity)
13
13
  words.push(megs) unless capacity_words.empty?
14
- words += capacity_words unless is_a_thousand? and is_a_one?
14
+ words += capacity_words unless thousand? && one?
15
15
  words
16
16
  end
17
17
 
18
- def is_a_one?
19
- [translations.ones(1)] == words_in_capacity(@current_capacity)
18
+ def one?
19
+ words_in_capacity(@current_capacity) == [translations.ones(1)]
20
20
  end
21
21
 
22
- def is_a_thousand?
22
+ def thousand?
23
23
  FiguresArray::THOUSAND_CAPACITY == @current_capacity
24
24
  end
25
25
 
26
26
  def hundreds
27
- super({:pluralize => simple_number_to_words.empty?})
27
+ super({ pluralize: simple_number_to_words.empty? })
28
28
  end
29
29
 
30
30
  def megs
31
- super({:number => @figures.number_in_capacity(@current_capacity)})
31
+ super({ number: @figures.number_in_capacity(@current_capacity) })
32
32
  end
33
33
  end
34
34
  end
35
35
  end
36
36
  end
37
- end
37
+ end
@@ -22,7 +22,7 @@ module NumbersAndWords
22
22
  number_without_capacity_to_words + complex_number_to_words
23
23
  elsif @figures.hundreds
24
24
  [hundreds_number_to_words]
25
- elsif @figures.tens or @figures.ones
25
+ elsif @figures.tens || @figures.ones
26
26
  [simple_number_to_words]
27
27
  else
28
28
  []
@@ -31,10 +31,10 @@ module NumbersAndWords
31
31
 
32
32
  def complex_number_to_words
33
33
  count = @figures.capacity_count
34
- (1..count).map { |capacity|
34
+ (1..count).map do |capacity|
35
35
  @current_capacity = capacity
36
36
  capacity_iteration.flatten
37
- }.reject(&:empty?)
37
+ end.reject(&:empty?)
38
38
  end
39
39
 
40
40
  def simple_number_to_words
@@ -47,13 +47,13 @@ module NumbersAndWords
47
47
  end
48
48
  end
49
49
 
50
- [:zero, :ones, :teens, :tens, :tens_with_ones, :hundreds, :megs].each do |method_name|
51
- define_method(method_name) {
52
- super({:prefix => maybe_ordinal(method_name)})
53
- }
50
+ %i[zero ones teens tens tens_with_ones hundreds megs].each do |method_name|
51
+ define_method(method_name) do
52
+ super({ prefix: maybe_ordinal(method_name) })
53
+ end
54
54
  end
55
55
 
56
- def maybe_ordinal type
56
+ def maybe_ordinal(type)
57
57
  @options.ordinal.result type
58
58
  end
59
59
  end
@@ -11,28 +11,26 @@ module NumbersAndWords
11
11
  words = []
12
12
  capacity_words = words_in_capacity(@current_capacity)
13
13
  words.push(megs) unless capacity_words.empty?
14
- words += capacity_words unless is_a_thousand? and is_a_one?
14
+ words += capacity_words unless thousand? && one?
15
15
  words
16
16
  end
17
17
 
18
- def is_a_one?
19
- [translations.ones(1)] == words_in_capacity(@current_capacity)
18
+ def one?
19
+ words_in_capacity(@current_capacity) == [translations.ones(1)]
20
20
  end
21
21
 
22
- def is_a_thousand?
22
+ def thousand?
23
23
  FiguresArray::THOUSAND_CAPACITY == @current_capacity
24
24
  end
25
25
 
26
26
  def hundreds
27
- super({only_hundreds: figures[0, 2] == [0, 0]})
27
+ super({ only_hundreds: figures[0, 2] == [0, 0] })
28
28
  end
29
29
 
30
30
  def megs
31
- if @figures.hundreds || @figures.tens || @figures.ones
32
- prefix = :partials
33
- else
34
- prefix = nil
35
- end
31
+ prefix = if @figures.hundreds || @figures.tens || @figures.ones
32
+ :partials
33
+ end
36
34
 
37
35
  super(prefix: prefix)
38
36
  end
@@ -11,24 +11,24 @@ module NumbersAndWords
11
11
  words = []
12
12
  capacity_words = words_in_capacity(@current_capacity)
13
13
  words.push(megs) unless capacity_words.empty?
14
- words += capacity_words unless is_a_thousand? and is_a_one?
14
+ words += capacity_words unless thousand? && one?
15
15
  words
16
16
  end
17
17
 
18
- def is_a_one?
19
- [translations.ones(1)] == words_in_capacity(@current_capacity)
18
+ def one?
19
+ words_in_capacity(@current_capacity) == [translations.ones(1)]
20
20
  end
21
21
 
22
- def is_a_thousand?
22
+ def thousand?
23
23
  FiguresArray::THOUSAND_CAPACITY == @current_capacity
24
24
  end
25
25
 
26
26
  def hundreds
27
- super({:is_hundred => (figures[1,2] == [0,1] && simple_number_to_words.empty?)})
27
+ super({ is_hundred: (figures[1, 2] == [0, 1] && simple_number_to_words.empty?) })
28
28
  end
29
29
 
30
30
  def megs
31
- super({:number => @figures.number_in_capacity(@current_capacity)})
31
+ super({ number: @figures.number_in_capacity(@current_capacity) })
32
32
  end
33
33
  end
34
34
  end
@@ -16,11 +16,11 @@ module NumbersAndWords
16
16
  end
17
17
 
18
18
  def hundreds
19
- super({:is_hundred => (figures[1,2] == [0,1] && simple_number_to_words.empty?)})
19
+ super({ is_hundred: (figures[1, 2] == [0, 1] && simple_number_to_words.empty?) })
20
20
  end
21
21
 
22
22
  def megs
23
- super({:number => @figures.number_in_capacity(@current_capacity)})
23
+ super({ number: @figures.number_in_capacity(@current_capacity) })
24
24
  end
25
25
  end
26
26
  end
@@ -5,10 +5,10 @@ module NumbersAndWords
5
5
  class PtBr < Base
6
6
  include Families::Latin
7
7
 
8
- [:teens, :tens, :tens_with_ones].each do |method_name|
9
- define_method(method_name) {
8
+ %i[teens tens tens_with_ones].each do |method_name|
9
+ define_method(method_name) do
10
10
  super(internal_options)
11
- }
11
+ end
12
12
  end
13
13
 
14
14
  def zero
@@ -20,7 +20,7 @@ module NumbersAndWords
20
20
  end
21
21
 
22
22
  def complex_number_to_words
23
- super.reject { |x| x.nil? }
23
+ super.reject(&:nil?)
24
24
  end
25
25
 
26
26
  def capacity_iteration
@@ -31,26 +31,24 @@ module NumbersAndWords
31
31
  end
32
32
 
33
33
  def ones
34
- super internal_options.merge({:is_one_thousand => is_one_thousand?})
34
+ super internal_options.merge(is_one_thousand: one_thousand?)
35
35
  end
36
36
 
37
37
  def hundreds
38
- super(internal_options.merge({:is_hundred => is_hundred?, :is_one_hundred => is_one_hundred?, :gender => gender}))
38
+ super(internal_options.merge(is_hundred: hundred?, is_one_hundred: one_hundred?, gender: gender))
39
39
  end
40
40
 
41
41
  def megs
42
- super(internal_options.merge({
43
- :is_one => words_in_capacity(current_capacity) == [translations.ones(1, internal_options)],
44
- :is_opaque => is_opaque?,
45
- :is_without_connector => is_without_connector?,
46
- :is_with_comma => is_with_comma?
47
- }))
42
+ super(internal_options.merge(is_one: words_in_capacity(current_capacity) == [translations.ones(1, internal_options)],
43
+ is_opaque: opaque?,
44
+ is_without_connector: without_connector?,
45
+ is_with_comma: with_comma?))
48
46
  end
49
47
 
50
48
  private
51
49
 
52
50
  def internal_options
53
- {:gender => gender, :prefix => maybe_ordinal}
51
+ { gender: gender, prefix: maybe_ordinal }
54
52
  end
55
53
 
56
54
  def maybe_ordinal
@@ -68,34 +66,34 @@ module NumbersAndWords
68
66
  end
69
67
  end
70
68
 
71
- def is_hundred?
72
- figures[0] == 0 && figures[1] == 0 && simple_number_to_words.empty?
69
+ def hundred?
70
+ figures[0].zero? && figures[1].zero? && simple_number_to_words.empty?
73
71
  end
74
72
 
75
- def is_one_hundred?
76
- is_hundred? && figures[2] == 1
73
+ def one_hundred?
74
+ hundred? && figures[2] == 1
77
75
  end
78
76
 
79
- def is_opaque?
80
- figures.is_opaque? current_capacity
77
+ def opaque?
78
+ figures.opaque? current_capacity
81
79
  end
82
80
 
83
- def is_one_thousand?
81
+ def one_thousand?
84
82
  current_capacity == 1 && figures[0] == 1 && figures.hundreds.nil? && figures.tens.nil?
85
83
  end
86
84
 
87
- def is_without_connector?
88
- return false if is_with_comma?
85
+ def without_connector?
86
+ return false if with_comma?
89
87
  # without connector when there is hundreds and tens_with_ones
90
- return true if figures.hundreds and figures.tens_with_ones
88
+ return true if figures.hundreds && figures.tens_with_ones
91
89
  # without connector when there is hundreds and tens
92
- return true if figures.hundreds and figures.tens
90
+ return true if figures.hundreds && figures.tens
93
91
  # without connector when there is hundreds and ones
94
- return true if figures.hundreds and figures.ones
92
+ return true if figures.hundreds && figures.ones
95
93
  false
96
94
  end
97
95
 
98
- def is_with_comma?
96
+ def with_comma?
99
97
  return false unless @current_capacity > 1
100
98
  # if any lower capacity is single word, in portuguese only tens are single words
101
99
  number_under_capacity = figures.number_under_capacity(@current_capacity)
@@ -6,23 +6,22 @@ module NumbersAndWords
6
6
  include Families::Latin
7
7
 
8
8
  def hundreds
9
- super({:is_hundred => (is_hundred?), :is_one_hundred => (is_one_hundred?)})
9
+ super({ is_hundred: hundred?, is_one_hundred: one_hundred? })
10
10
  end
11
11
 
12
12
  def megs
13
- super({:is_one => words_in_capacity(@current_capacity) == [@translations.ones(1)]})
13
+ super({ is_one: words_in_capacity(@current_capacity) == [@translations.ones(1)] })
14
14
  end
15
15
 
16
16
  private
17
17
 
18
- def is_hundred?
19
- figures[0] == 0 && figures[1] == 0 && simple_number_to_words.empty?
18
+ def hundred?
19
+ figures[0].zero? && figures[1].zero? && simple_number_to_words.empty?
20
20
  end
21
21
 
22
- def is_one_hundred?
23
- is_hundred? && figures[2] == 1
22
+ def one_hundred?
23
+ hundred? && figures[2] == 1
24
24
  end
25
-
26
25
  end
27
26
  end
28
27
  end
@@ -11,15 +11,15 @@ module NumbersAndWords
11
11
  words = []
12
12
  capacity_words = words_in_capacity(@current_capacity)
13
13
  words.push(megs) unless capacity_words.empty?
14
- words += capacity_words unless is_a_thousand? and is_a_one?
14
+ words += capacity_words unless thousand? && one?
15
15
  words
16
16
  end
17
17
 
18
- def is_a_one?
19
- [translations.ones(1)] == words_in_capacity(@current_capacity)
18
+ def one?
19
+ words_in_capacity(@current_capacity) == [translations.ones(1)]
20
20
  end
21
21
 
22
- def is_a_thousand?
22
+ def thousand?
23
23
  FiguresArray::THOUSAND_CAPACITY == @current_capacity
24
24
  end
25
25
  end
@@ -1,9 +1,10 @@
1
1
  require 'numbers_and_words/strategies/figures_converter/options/en'
2
2
  require 'numbers_and_words/strategies/figures_converter/options/en-GB'
3
- require 'numbers_and_words/strategies/figures_converter/options/ru'
3
+ require 'numbers_and_words/strategies/figures_converter/options/es'
4
+ require 'numbers_and_words/strategies/figures_converter/options/hu'
4
5
  require 'numbers_and_words/strategies/figures_converter/options/pt-BR'
6
+ require 'numbers_and_words/strategies/figures_converter/options/ru'
5
7
  require 'numbers_and_words/strategies/figures_converter/options/ua'
6
- require 'numbers_and_words/strategies/figures_converter/options/hu'
7
8
 
8
9
  module NumbersAndWords
9
10
  module Strategies
@@ -12,12 +13,12 @@ module NumbersAndWords
12
13
  class Proxy
13
14
  attr_accessor :strategy, :options
14
15
 
15
- def initialize strategy, options
16
+ def initialize(strategy, options)
16
17
  @strategy = strategy
17
18
  @options = options
18
19
  end
19
20
 
20
- def method_missing method_name, *args, &block
21
+ def method_missing(method_name, *args, &block)
21
22
  Object.const_get(proxy_class_name(method_name)).new self, args, block
22
23
  rescue NameError
23
24
  return nil
@@ -25,7 +26,7 @@ module NumbersAndWords
25
26
 
26
27
  private
27
28
 
28
- def proxy_class_name method_name
29
+ def proxy_class_name(method_name)
29
30
  "#{module_name}::#{I18n.language_class_name}::#{method_name.to_s.split('_').collect(&:capitalize).join}"
30
31
  end
31
32
 
@@ -9,4 +9,4 @@ module NumbersAndWords
9
9
  end
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -9,4 +9,4 @@ module NumbersAndWords
9
9
  end
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -9,4 +9,4 @@ module NumbersAndWords
9
9
  end
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -9,4 +9,4 @@ module NumbersAndWords
9
9
  end
10
10
  end
11
11
  end
12
- end
12
+ end
@@ -6,12 +6,12 @@ module NumbersAndWords
6
6
  class HundredsWithUnion
7
7
  attr_accessor :strategy, :options
8
8
 
9
- def initialize proxy, *args, &block
9
+ def initialize(proxy, *_args)
10
10
  @strategy = proxy.strategy
11
11
  @options = proxy.options
12
12
  end
13
13
 
14
- def modify_or_leave hundreds
14
+ def modify_or_leave(hundreds)
15
15
  hundreds = "#{hundreds} #{translations.union}" if active? && !round_hundred?
16
16
  hundreds
17
17
  end
@@ -34,4 +34,4 @@ module NumbersAndWords
34
34
  end
35
35
  end
36
36
  end
37
- end
37
+ end
@@ -8,12 +8,12 @@ module NumbersAndWords
8
8
  HUNDRED_TYPE = :hundreds
9
9
  MEGS_TYPE = :megs
10
10
 
11
- def initialize proxy, *args, &block
11
+ def initialize(proxy, *_args)
12
12
  @strategy = proxy.strategy
13
13
  @options = proxy.options
14
14
  end
15
15
 
16
- def result type
16
+ def result(type)
17
17
  @type = type
18
18
  MEGS_TYPE != type ? check_simple_numbers : check_megs_numbers
19
19
  end
@@ -57,4 +57,4 @@ module NumbersAndWords
57
57
  end
58
58
  end
59
59
  end
60
- end
60
+ end