Class: Kabal::Language
- Inherits:
-
Object
show all
- Defined in:
- lib/kabal/languages/language.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Language.
Instance Method Details
#convert(number) ⇒ Object
8
9
10
11
12
13
14
|
# File 'lib/kabal/languages/language.rb', line 8
def convert(number)
if no_supports? number
error number
else
convert_number number
end
end
|
#count(number) ⇒ Object
82
83
84
|
# File 'lib/kabal/languages/language.rb', line 82
def count(number)
number / (10 ** number_order(number))
end
|
#dot ⇒ Object
58
59
60
|
# File 'lib/kabal/languages/language.rb', line 58
def dot
names["dot"]
end
|
#fractional?(number) ⇒ Boolean
62
63
64
|
# File 'lib/kabal/languages/language.rb', line 62
def fractional?(number)
number % 1 != 0
end
|
#lang ⇒ Object
25
26
27
28
|
# File 'lib/kabal/languages/language.rb', line 25
def lang
languages = Kabal::Config::YamlLoader.yaml_object "languages"
@lang = languages[self.to_s.split(":")[-2]]
end
|
#max_value ⇒ Object
42
43
44
|
# File 'lib/kabal/languages/language.rb', line 42
def max_value
eval @supports["natural"]["max"]
end
|
#min_value ⇒ Object
38
39
40
|
# File 'lib/kabal/languages/language.rb', line 38
def min_value
eval @supports["natural"]["min"]
end
|
#minus ⇒ Object
50
51
52
|
# File 'lib/kabal/languages/language.rb', line 50
def minus
names["minus"]
end
|
#names ⇒ Object
46
47
48
|
# File 'lib/kabal/languages/language.rb', line 46
def names
@names[lang]
end
|
#natural?(number) ⇒ Boolean
66
67
68
|
# File 'lib/kabal/languages/language.rb', line 66
def natural?(number)
number % 1 == 0
end
|
#need_minus?(number) ⇒ Boolean
98
99
100
|
# File 'lib/kabal/languages/language.rb', line 98
def need_minus?(number)
number < 0
end
|
#no_supports?(number) ⇒ Boolean
94
95
96
|
# File 'lib/kabal/languages/language.rb', line 94
def no_supports?(number)
(number % 1 != 0 and not supports_fractional?) or number_is_out_of_the_range?(number)
end
|
#number_is_google?(number) ⇒ Boolean
74
75
76
|
# File 'lib/kabal/languages/language.rb', line 74
def number_is_google?(number)
count(number) == 10 and number_order(number) == 99
end
|
#number_is_out_of_the_range?(number) ⇒ Boolean
90
91
92
|
# File 'lib/kabal/languages/language.rb', line 90
def number_is_out_of_the_range?(number)
number >= max_value or number <= min_value
end
|
#number_is_thousands?(number) ⇒ Boolean
70
71
72
|
# File 'lib/kabal/languages/language.rb', line 70
def number_is_thousands?(number)
number_order(number) < 3
end
|
#number_order(number) ⇒ Object
78
79
80
|
# File 'lib/kabal/languages/language.rb', line 78
def number_order(number)
((number.to_s.length - 1) / 3) * 3
end
|
#supports_fractional? ⇒ Boolean
86
87
88
|
# File 'lib/kabal/languages/language.rb', line 86
def supports_fractional?
@supports["fractional"]
end
|
#supports_natural? ⇒ Boolean
30
31
32
|
# File 'lib/kabal/languages/language.rb', line 30
def supports_natural?
@supports["natural"]
end
|
#supports_negative? ⇒ Boolean
34
35
36
|
# File 'lib/kabal/languages/language.rb', line 34
def supports_negative?
min_value < 0
end
|
#whole ⇒ Object
54
55
56
|
# File 'lib/kabal/languages/language.rb', line 54
def whole
names["whole"]
end
|