Class: NumbersAndWords::Translations::Ka
Constant Summary
collapse
- TENS_VIGESIMAL_RANGES =
[
{
range: Range.new(0, 4, true),
name: :twenty,
multiplicative: 2
},
{
range: Range.new(0, 6, true),
name: :forty,
multiplicative: 4
},
{
range: Range.new(0, 8, true),
name: :sixty,
multiplicative: 6
},
{
range: Range.new(0, 9, false),
name: :eighty,
multiplicative: 8
}
].freeze
Constants inherited
from Base
Base::I18N_NAMESPACE
Instance Method Summary
collapse
#ones, #zero
#mega, #megs, #micro_separator, #teens, #tens, #union
Methods inherited from Base
#t
Instance Method Details
#hundreds(number, options = {}) ⇒ Object
54
55
56
57
58
59
60
61
|
# File 'lib/numbers_and_words/translations/ka.rb', line 54
def hundreds(number, options = {})
options[:prefix] ||= options[:only_hundreds] == true ? nil : :partials
parts = [t([options[:prefix], :hundreds].join('.'))]
parts.unshift(ones(number, prefix: :partials)) if number > 1
parts.join
end
|
#tens_with_ones(numbers, _options = {}) ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/numbers_and_words/translations/ka.rb', line 42
def tens_with_ones(numbers, _options = {})
range = vigesimal_range(numbers[1])
minor = if (numbers[1] - range[:multiplicative]).positive?
teens(numbers)
else
ones(numbers[0])
end
[t([:partials, range[:name]].join('.')), minor].join
end
|
#vigesimal_range(number) ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/numbers_and_words/translations/ka.rb', line 30
def vigesimal_range(number)
range = nil
TENS_VIGESIMAL_RANGES.each do |item|
if item[:range].include? number
range = item
break
end
end
range
end
|