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
},
]
Constants inherited
from Base
Base::I18N_NAMESPACE
Instance Method Summary
collapse
#ones, #zero
#mega, #teens, #tens, #union, #union_separator
Methods inherited from Base
#t
Instance Method Details
#hundreds(number, options = {}) ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/numbers_and_words/translations/ka.rb', line 52
def hundreds number, options = {}
options[:prefix] ||= (options[:only_hundreds] == true) ? nil : :partials
parts = [t([options[:prefix], :one_hundred].join('.'))]
parts.unshift(ones(number, prefix: :partials)) if number > 1
parts.join ''
end
|
#megs(capacity, options = {}) ⇒ Object
61
62
63
64
65
66
67
68
69
|
# File 'lib/numbers_and_words/translations/ka.rb', line 61
def megs capacity, options = {}
if capacity == 1
t([options[:prefix], :one_thousand].join('.'))
elsif capacity == 2
t([options[:prefix], :one_million].join('.'))
elsif capacity == 3
t([options[:prefix], :one_billion].join('.'))
end
end
|
#tens_with_ones(numbers, options = {}) ⇒ Object
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/numbers_and_words/translations/ka.rb', line 40
def tens_with_ones numbers, options = {}
range = vigesimal_range(numbers[1])
if numbers[1] - range[:multiplicative] > 0
minor = teens(numbers)
else
minor = ones(numbers[0])
end
[t([:partials, range[:name]].join('.')), minor].join ''
end
|
#vigesimal_range(number) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/numbers_and_words/translations/ka.rb', line 28
def vigesimal_range number
range = nil
TENS_VIGESIMAL_RANGES.each do|item|
if item[:range].include? number
range = item
break
end
end
range
end
|