ru_propisju 2.2.3 → 2.3.0
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.
- data/History.txt +4 -0
- data/README.rdoc +2 -0
- data/lib/ru_propisju.rb +95 -2
- data/ru_propisju.gemspec +12 -13
- data/test/test_ru_propisju.rb +112 -3
- metadata +81 -56
- checksums.yaml +0 -7
data/History.txt
CHANGED
data/README.rdoc
CHANGED
@@ -15,6 +15,8 @@
|
|
15
15
|
RuPropisju.rublej(123.78) #=> "сто двадцать три рубля 78 копеек"
|
16
16
|
RuPropisju.propisju_shtuk(212.40, 2, ["сволочь", "сволочи", "сволочей"]) #=> "двести двенадцать целых четыре десятых сволочи"
|
17
17
|
|
18
|
+
'Продается в ' + RuPropisju.propisju_shtuk(147, 1, ["городе", "городах", "городах"], :ru_in) #=> "Продается в ста сорока семи городах"
|
19
|
+
|
18
20
|
== REQUIREMENTS:
|
19
21
|
|
20
22
|
* Прямые руки
|
data/lib/ru_propisju.rb
CHANGED
@@ -6,7 +6,7 @@ $KCODE = 'u' if RUBY_VERSION < '1.9.0'
|
|
6
6
|
# RuPropisju.rublej(123) # "сто двадцать три рубля"
|
7
7
|
module RuPropisju
|
8
8
|
|
9
|
-
VERSION = '2.
|
9
|
+
VERSION = '2.3.0'
|
10
10
|
|
11
11
|
# http://www.xe.com/symbols.php
|
12
12
|
# (лица, приближенные форексам и всяким там валютам и курсам)
|
@@ -17,6 +17,7 @@ module RuPropisju
|
|
17
17
|
"usd" => :dollarov,
|
18
18
|
"uah" => :griven,
|
19
19
|
"eur" => :evro,
|
20
|
+
"kzt" => :tenge,
|
20
21
|
}
|
21
22
|
|
22
23
|
SUPPORTED_CURRENCIES = CURRENCIES.keys.join ','
|
@@ -70,6 +71,8 @@ module RuPropisju
|
|
70
71
|
:rub_fraction => ['копейка', 'копейки', 'копеек'],
|
71
72
|
:uah_integral => ["гривна", "гривны", "гривен"],
|
72
73
|
:uah_fraction => ['копейка', 'копейки', 'копеек'],
|
74
|
+
:kzt_integral => ["тенге", "тенге", "тенге"],
|
75
|
+
:kzt_fraction => ['тиын', 'тиына', 'тиынов'],
|
73
76
|
:eur_integral => ["евро", "евро", "евро"],
|
74
77
|
# по опыту моей прошлой работы в банке
|
75
78
|
# центами называют дробную часть доллара
|
@@ -78,6 +81,64 @@ module RuPropisju
|
|
78
81
|
:usd_integral => ["доллар", "доллара", "долларов"],
|
79
82
|
:usd_fraction => ['цент', 'цента', 'центов'],
|
80
83
|
},
|
84
|
+
'ru_in' => { # Предложный падеж, например в 2 городах, поэтому ru_in - in == 'в' (если нужен будет творительный падеж - делайте ru_from aka из города from == 'из')
|
85
|
+
0 => "",
|
86
|
+
'0' => "нуле",
|
87
|
+
:thousands => ["тысяче", "тысячах", "тысячах"],
|
88
|
+
:millions => ["миллионе", "миллионах", "миллионах"],
|
89
|
+
:billions => ["миллиарде", "миллиардах", "миллиардах"],
|
90
|
+
100 => "ста",
|
91
|
+
200 => "двухстах",
|
92
|
+
300 => "трёхстах",
|
93
|
+
400 => "четырёхстах",
|
94
|
+
500 => "пятистах",
|
95
|
+
600 => "шестистах",
|
96
|
+
700 => "семистах",
|
97
|
+
800 => "восьмистах",
|
98
|
+
900 => "девятистах",
|
99
|
+
|
100
|
+
10 => "десяти",
|
101
|
+
11 => "одиннадцати",
|
102
|
+
12 => "двенадцати",
|
103
|
+
13 => "тринадцати",
|
104
|
+
14 => "четырнадцати",
|
105
|
+
15 => "пятнадцати",
|
106
|
+
16 => "шестнадцати",
|
107
|
+
17 => "семнадцати",
|
108
|
+
18 => "восемнадцати",
|
109
|
+
19 => "девятнадцати",
|
110
|
+
20 => "двадцати",
|
111
|
+
30 => "тридцати",
|
112
|
+
40 => "сорока",
|
113
|
+
50 => "пятьдесяти",
|
114
|
+
60 => "шестьдесяти",
|
115
|
+
70 => "семьдесяти",
|
116
|
+
80 => "восемьдесяти",
|
117
|
+
90 => "девяноста",
|
118
|
+
# единицы, местами - c учетом рода
|
119
|
+
1 => {1 => "одном", 2 => 'одной', 3 => 'одном'},
|
120
|
+
2 => {1 => "двух", 2 => 'двух', 3 => 'двух'},
|
121
|
+
3 => "трёх",
|
122
|
+
4 => "четырёх",
|
123
|
+
5 => "пяти",
|
124
|
+
6 => "шести",
|
125
|
+
7 => "семи",
|
126
|
+
8 => "восьми",
|
127
|
+
9 => "девяти",
|
128
|
+
:rub_integral => ["рубле", "рублях", "рублях"],
|
129
|
+
:rub_fraction => ['копейке', 'копейках', 'копейках'],
|
130
|
+
:uah_integral => ["гривне", "гривнах", "гривнах"],
|
131
|
+
:uah_fraction => ['копейке', 'копейках', 'копейках'],
|
132
|
+
:kzt_integral => ["тенге", "тенге", "тенге"],
|
133
|
+
:kzt_fraction => ['тиыне', 'тиынах', 'тиынах'],
|
134
|
+
:eur_integral => ["евро", "евро", "евро"],
|
135
|
+
# по опыту моей прошлой работы в банке
|
136
|
+
# центами называют дробную часть доллара
|
137
|
+
# а дробную часть евро называют евроцентом
|
138
|
+
:eur_fraction => ["центе", "центах", "центах"],
|
139
|
+
:usd_integral => ["долларе", "долларах", "долларах"],
|
140
|
+
:usd_fraction => ['центе', 'центах', 'центах'],
|
141
|
+
},
|
81
142
|
'ua' => {
|
82
143
|
0 => "",
|
83
144
|
'0' => "нуль",
|
@@ -126,6 +187,8 @@ module RuPropisju
|
|
126
187
|
:rub_fraction => ['копійка', 'копійки', 'копійок'],
|
127
188
|
:uah_integral => ["гривня", "гривні", "гривень"],
|
128
189
|
:uah_fraction => ["копійка", "копійки", "копійок"],
|
190
|
+
:kzt_integral => ["тенге", "тенге", "тенге"],
|
191
|
+
:kzt_fraction => ['тиын', 'тиына', 'тиынов'],
|
129
192
|
:eur_integral => ["євро", "євро", "євро"],
|
130
193
|
:eur_fraction => ["євроцент", "євроцента", "євроцентів"],
|
131
194
|
:usd_integral => ["долар", "долара", "доларів"],
|
@@ -138,10 +201,11 @@ module RuPropisju
|
|
138
201
|
:usd => 1,
|
139
202
|
:uah => 2,
|
140
203
|
:eur => 1,
|
204
|
+
:kzt => 1,
|
141
205
|
}
|
142
206
|
|
143
207
|
|
144
|
-
|
208
|
+
# Кидается при запросе неизвестной валюты
|
145
209
|
class UnknownCurrency < ArgumentError
|
146
210
|
end
|
147
211
|
|
@@ -258,6 +322,17 @@ module RuPropisju
|
|
258
322
|
money(amount, locale, integrals_key, fractions_key, money_gender)
|
259
323
|
end
|
260
324
|
|
325
|
+
# Выводит целое или дробное число как сумму в тенге прописью
|
326
|
+
#
|
327
|
+
# tenge(32) #=> "тридцать два тенге"
|
328
|
+
def tenge(amount, locale = :ru)
|
329
|
+
integrals_key = :kzt_integral
|
330
|
+
fractions_key = :kzt_fraction
|
331
|
+
money_gender = MONEY_GENDERS[:kzt]
|
332
|
+
|
333
|
+
money(amount, locale, integrals_key, fractions_key, money_gender)
|
334
|
+
end
|
335
|
+
|
261
336
|
# Выводит сумму прописью в рублях по количеству копеек
|
262
337
|
#
|
263
338
|
# kopeek(343) #=> "три рубля 43 копейки"
|
@@ -396,6 +471,24 @@ module RuPropisju
|
|
396
471
|
],
|
397
472
|
:prefix => ["ая", 'ых'],
|
398
473
|
},
|
474
|
+
'ru_in' =>{
|
475
|
+
:source_words => [
|
476
|
+
'целой',
|
477
|
+
'десятой',
|
478
|
+
'сотой',
|
479
|
+
'тысячной',
|
480
|
+
'десятитысячной',
|
481
|
+
'стотысячной',
|
482
|
+
'миллионной',
|
483
|
+
'десятимиллионной',
|
484
|
+
'стомиллионной',
|
485
|
+
'миллиардной',
|
486
|
+
'десятимиллиардной',
|
487
|
+
'стомиллиардной',
|
488
|
+
'триллионной'
|
489
|
+
],
|
490
|
+
:prefix => ["ой", 'ых'],
|
491
|
+
},
|
399
492
|
'ua' => {
|
400
493
|
:source_words => [
|
401
494
|
'ціла',
|
data/ru_propisju.gemspec
CHANGED
@@ -2,17 +2,15 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: ru_propisju 2.2.3 ruby lib
|
6
5
|
|
7
6
|
Gem::Specification.new do |s|
|
8
|
-
s.name =
|
9
|
-
s.version = "2.
|
7
|
+
s.name = %q{ru_propisju}
|
8
|
+
s.version = "2.3.0"
|
10
9
|
|
11
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
11
|
s.authors = ["Julik Tarkhanov"]
|
14
|
-
s.date =
|
15
|
-
s.email =
|
12
|
+
s.date = %q{2014-10-22}
|
13
|
+
s.email = %q{me@julik.nl}
|
16
14
|
s.extra_rdoc_files = [
|
17
15
|
"README.rdoc"
|
18
16
|
]
|
@@ -25,25 +23,26 @@ Gem::Specification.new do |s|
|
|
25
23
|
"ru_propisju.gemspec",
|
26
24
|
"test/test_ru_propisju.rb"
|
27
25
|
]
|
28
|
-
s.homepage =
|
26
|
+
s.homepage = %q{http://github.com/julik/ru_propisju}
|
29
27
|
s.licenses = ["MIT"]
|
30
|
-
s.
|
31
|
-
s.
|
28
|
+
s.require_paths = ["lib"]
|
29
|
+
s.rubygems_version = %q{1.6.2}
|
30
|
+
s.summary = %q{Cумма прописью}
|
32
31
|
|
33
32
|
if s.respond_to? :specification_version then
|
34
|
-
s.specification_version =
|
33
|
+
s.specification_version = 3
|
35
34
|
|
36
35
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
37
|
-
s.add_development_dependency(%q<jeweler>, ["
|
36
|
+
s.add_development_dependency(%q<jeweler>, ["= 1.8.4"])
|
38
37
|
s.add_development_dependency(%q<rake>, [">= 0"])
|
39
38
|
s.add_development_dependency(%q<test-unit>, [">= 0"])
|
40
39
|
else
|
41
|
-
s.add_dependency(%q<jeweler>, ["
|
40
|
+
s.add_dependency(%q<jeweler>, ["= 1.8.4"])
|
42
41
|
s.add_dependency(%q<rake>, [">= 0"])
|
43
42
|
s.add_dependency(%q<test-unit>, [">= 0"])
|
44
43
|
end
|
45
44
|
else
|
46
|
-
s.add_dependency(%q<jeweler>, ["
|
45
|
+
s.add_dependency(%q<jeweler>, ["= 1.8.4"])
|
47
46
|
s.add_dependency(%q<rake>, [">= 0"])
|
48
47
|
s.add_dependency(%q<test-unit>, [">= 0"])
|
49
48
|
end
|
data/test/test_ru_propisju.rb
CHANGED
@@ -17,9 +17,21 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
17
17
|
assert_equal "сто двадцать три рубля", RuPropisju.amount_in_words(123, "RUR")
|
18
18
|
assert_equal "сто двадцать три рубля", RuPropisju.amount_in_words(123, "rur")
|
19
19
|
assert_equal "сто двадцать три гривны", RuPropisju.amount_in_words(123, "uah")
|
20
|
+
assert_equal "сто двадцать три тенге", RuPropisju.amount_in_words(123, "kzt")
|
20
21
|
assert_equal "сто двадцать три евро", RuPropisju.amount_in_words(123, "eur")
|
21
22
|
assert_equal "сто двадцать три евро четырнадцать центов", RuPropisju.amount_in_words(123.14, "eur")
|
22
23
|
assert_equal "сто двадцать три доллара четырнадцать центов", RuPropisju.amount_in_words(123.14, "usd")
|
24
|
+
|
25
|
+
# russian locale (предложный падеж)
|
26
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.amount_in_words(123, :rur, :ru_in)
|
27
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.amount_in_words(123, :rub, :ru_in)
|
28
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.amount_in_words(123, "RUR", "ru_in")
|
29
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.amount_in_words(123, "rur", "ru_in")
|
30
|
+
assert_equal "ста двадцати трёх гривнах", RuPropisju.amount_in_words(123, "uah", "ru_in")
|
31
|
+
assert_equal "ста двадцати трёх тенге", RuPropisju.amount_in_words(123, "kzt", "ru_in")
|
32
|
+
assert_equal "ста двадцати трёх евро", RuPropisju.amount_in_words(123, "eur", "ru_in")
|
33
|
+
assert_equal "ста двадцати трёх евро четырнадцати центах", RuPropisju.amount_in_words(123.14, "eur", :ru_in)
|
34
|
+
assert_equal "ста двадцати трёх долларах четырнадцати центах", RuPropisju.amount_in_words(123.14, "usd", :ru_in)
|
23
35
|
|
24
36
|
# ua locale
|
25
37
|
assert_equal "сто двадцять три рубля", RuPropisju.amount_in_words(123, :rur, :ua)
|
@@ -27,6 +39,7 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
27
39
|
assert_equal "сто двадцять три рубля", RuPropisju.amount_in_words(123, "RUR", "ua")
|
28
40
|
assert_equal "сто двадцять три рубля", RuPropisju.amount_in_words(123, "rur", "ua")
|
29
41
|
assert_equal "сто двадцять три гривні", RuPropisju.amount_in_words(123, "uah", "ua")
|
42
|
+
assert_equal "сто двадцять три тенге", RuPropisju.amount_in_words(123, "kzt", "ua")
|
30
43
|
assert_equal "сто двадцять три євро", RuPropisju.amount_in_words(123, "eur", "ua")
|
31
44
|
assert_equal "сто двадцять три євро чотирнадцять євроцентів", RuPropisju.amount_in_words(123.14, "eur", :ua)
|
32
45
|
assert_equal "сто двадцять три долара чотирнадцять центів", RuPropisju.amount_in_words(123.14, "usd", :ua)
|
@@ -35,6 +48,7 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
35
48
|
def test_issue_3
|
36
49
|
assert_equal "два миллиона евро", RuPropisju.evro(2000000)
|
37
50
|
assert_equal "два миллиона рублей", RuPropisju.rublej(2000000)
|
51
|
+
assert_equal "два миллиона тенге", RuPropisju.tenge(2000000)
|
38
52
|
assert_equal "два миллиона рублей", RuPropisju.amount_in_words(2000000, :rub)
|
39
53
|
end
|
40
54
|
|
@@ -47,6 +61,11 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
47
61
|
assert_equal "сто двадцать один евро четыре цента", RuPropisju.evro(121.04)
|
48
62
|
assert_equal "сто двадцять один євро чотири євроцента", RuPropisju.evro(121.04, :ua)
|
49
63
|
end
|
64
|
+
|
65
|
+
def test_propisju_tenge
|
66
|
+
assert_equal "сто двадцать один тенге четыре тиына", RuPropisju.tenge(121.04)
|
67
|
+
assert_equal "сто двадцять один тенге чотири тиына", RuPropisju.tenge(121.04, :ua)
|
68
|
+
end
|
50
69
|
|
51
70
|
def test_thousands_and_millions
|
52
71
|
assert_equal "два миллиона сто тысяч рублей", RuPropisju.amount_in_words(2100000, :rur)
|
@@ -66,6 +85,20 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
66
85
|
assert_equal "ноль", RuPropisju.propisju(0, 1)
|
67
86
|
|
68
87
|
|
88
|
+
# предложный падеж для русской локали
|
89
|
+
assert_equal "пятистах двадцати трёх", RuPropisju.propisju(523, 1, :ru_in)
|
90
|
+
assert_equal "шести тысячах семистах двадцати семи", RuPropisju.propisju(6727, 1, :ru_in)
|
91
|
+
assert_equal "одном миллионе одном", RuPropisju.propisju(1_000_001, 1, :ru_in)
|
92
|
+
assert_equal "одном миллионе", RuPropisju.propisju(1_000_000, 1, :ru_in)
|
93
|
+
assert_equal "восьми миллионах шестистах пятьдесяти двух", RuPropisju.propisju(8000652, 1, :ru_in)
|
94
|
+
assert_equal "восьми миллионах шестистах пятьдесяти двух", RuPropisju.propisju(8000652, 2, :ru_in)
|
95
|
+
assert_equal "восьми миллионах шестистах пятьдесяти двух", RuPropisju.propisju(8000652, 3, :ru_in)
|
96
|
+
assert_equal "сорока пяти", RuPropisju.propisju(45, 1, :ru_in)
|
97
|
+
assert_equal "пяти", RuPropisju.propisju(5, 1, :ru_in)
|
98
|
+
assert_equal "шестистах двенадцати", RuPropisju.propisju(612, 1, :ru_in)
|
99
|
+
assert_equal "нуле", RuPropisju.propisju(0, 1, :ru_in)
|
100
|
+
|
101
|
+
|
69
102
|
# ukrainian locale
|
70
103
|
assert_equal "п'ятьсот двадцять три", RuPropisju.propisju(523, 1, :ua)
|
71
104
|
assert_equal "шість тисяч сімсот двадцять сім", RuPropisju.propisju(6727, 1, :ua)
|
@@ -84,11 +117,18 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
84
117
|
assert_equal "двадцать одна подстава", RuPropisju.propisju_shtuk(21, 2, ["подстава", "подставы", "подстав"])
|
85
118
|
assert_equal "двести двенадцать сволочей", RuPropisju.propisju_shtuk(212.00, 2, ["сволочь", "сволочи", "сволочей"])
|
86
119
|
assert_equal "двести двенадцать целых четыре десятых куска", RuPropisju.propisju_shtuk(212.40, 2, ["кусок", "куска", "кусков"])
|
87
|
-
|
120
|
+
|
88
121
|
# GH issue 10
|
89
122
|
# https://github.com/julik/ru_propisju/issues/10
|
90
123
|
assert_equal "одна тысяча сто две целых сорок одна сотая кубометра", RuPropisju.propisju_shtuk( 1102.41, 2, ["кубометр", "кубометра", "кубометров"])
|
91
|
-
|
124
|
+
|
125
|
+
# предложный падеж русской локали
|
126
|
+
assert_equal "шести целых", RuPropisju.propisju_shtuk(6, 2, ["целой", "целых", "целых"], :ru_in)
|
127
|
+
assert_equal "двадцати пяти колесах", RuPropisju.propisju_shtuk(25, 3, ["колесо", "колесах", "колесах"], :ru_in)
|
128
|
+
assert_equal "двадцати одной подставе", RuPropisju.propisju_shtuk(21, 2, ["подставе", "подставах", "подставах"], :ru_in)
|
129
|
+
assert_equal "двухстах двенадцати сволочах", RuPropisju.propisju_shtuk(212.00, 2, ["сволочи", "сволочах", "сволочах"], :ru_in)
|
130
|
+
assert_equal "двухстах двенадцати целых четырёх десятых кусках", RuPropisju.propisju_shtuk(212.40, 2, ["куске", "кусках", "кусках"], :ru_in)
|
131
|
+
|
92
132
|
# ua locale
|
93
133
|
assert_equal "шість цілих", RuPropisju.propisju_shtuk(6, 2, ["ціла", "цілих", "цілих"], :ua)
|
94
134
|
assert_equal "двадцять п'ять колес", RuPropisju.propisju_shtuk(25, 3, ["колесо", "колеса", "колес"], :ua)
|
@@ -107,7 +147,18 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
107
147
|
assert_equal "триста сорок одна целая двести сорок пять тысячных", RuPropisju.propisju(341.245, 1)
|
108
148
|
assert_equal "двести три целых сорок одна сотая", RuPropisju.propisju(203.41, 1)
|
109
149
|
assert_equal "четыреста сорок две целых пять десятых", RuPropisju.propisju(442.50000, 1)
|
110
|
-
|
150
|
+
|
151
|
+
# предложный падеж русской локали
|
152
|
+
assert_equal "шести целых пяти десятых", RuPropisju.propisju(6.50, 1, :ru_in)
|
153
|
+
assert_equal "шести", RuPropisju.propisju(6.0, 1, :ru_in)
|
154
|
+
assert_equal "тридцати миллиардах целых ста одиннадцати тысячных", RuPropisju.propisju(3 * 10**10 + 0.111, 1, :ru_in)
|
155
|
+
assert_equal "тридцати", RuPropisju.propisju(30.0, 1, :ru_in)
|
156
|
+
assert_equal "тридцати целых одной десятой", RuPropisju.propisju(30.1, 1, :ru_in)
|
157
|
+
assert_equal "трёхстах сорока одной целой девяти десятых", RuPropisju.propisju(341.9, 1, :ru_in)
|
158
|
+
assert_equal "трёхстах сорока одной целой двухстах сорока пяти тысячных", RuPropisju.propisju(341.245, 1, :ru_in)
|
159
|
+
assert_equal "двухстах трёх целых сорока одной сотой", RuPropisju.propisju(203.41, 1, :ru_in)
|
160
|
+
assert_equal "четырёхстах сорока двух целых пяти десятых", RuPropisju.propisju(442.50000, 1, :ru_in)
|
161
|
+
|
111
162
|
# ua locale
|
112
163
|
assert_equal "шість цілих п'ять десятих", RuPropisju.propisju(6.50, 1, :ua)
|
113
164
|
assert_equal "триста сорок одна ціла дев'ять десятих", RuPropisju.propisju(341.9, 1, :ua)
|
@@ -147,6 +198,15 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
147
198
|
assert_equal "один рубль", RuPropisju.rubl(1)
|
148
199
|
assert_equal "три рубля 14 копеек", RuPropisju.rublja(3.14)
|
149
200
|
|
201
|
+
# ru locale предложный падеж
|
202
|
+
assert_equal "нуле рублях 0 копейках", RuPropisju.rublej(0, :ru_in)
|
203
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.rublej(123, :ru_in)
|
204
|
+
assert_equal "трёхстах сорока трёх рублях 20 копейках", RuPropisju.rublej(343.20, :ru_in)
|
205
|
+
assert_equal "42 копейках", RuPropisju.rublej(0.4187, :ru_in)
|
206
|
+
assert_equal "трёхстах тридцати двух рублях", RuPropisju.rublej(331.995, :ru_in)
|
207
|
+
assert_equal "одном рубле", RuPropisju.rubl(1, :ru_in)
|
208
|
+
assert_equal "трёх рублях 14 копейках", RuPropisju.rublja(3.14, :ru_in)
|
209
|
+
|
150
210
|
# ua locale
|
151
211
|
assert_equal "сто двадцять три рубля", RuPropisju.rublej(123, :ua)
|
152
212
|
assert_equal "триста сорок три рубля 20 копійок", RuPropisju.rublej(343.20, :ua)
|
@@ -166,6 +226,16 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
166
226
|
assert_equal "три гривны четырнадцать копеек", RuPropisju.grivny(3.14)
|
167
227
|
assert_equal "ноль гривен ноль копеек", RuPropisju.griven(0)
|
168
228
|
|
229
|
+
# ru locale предложный падеж
|
230
|
+
assert_equal "ста двадцати трёх гривнах", RuPropisju.griven(123, :ru_in)
|
231
|
+
assert_equal "ста двадцати четырёх гривнах", RuPropisju.griven(124, :ru_in)
|
232
|
+
assert_equal "трёхстах сорока трёх гривнах двадцати копейках", RuPropisju.griven(343.20, :ru_in)
|
233
|
+
assert_equal "сорока двух копейках", RuPropisju.griven(0.4187, :ru_in)
|
234
|
+
assert_equal "трёхстах тридцати двух гривнах", RuPropisju.griven(331.995, :ru_in)
|
235
|
+
assert_equal "одной гривне", RuPropisju.grivna(1, :ru_in)
|
236
|
+
assert_equal "трёх гривнах четырнадцати копейках", RuPropisju.grivny(3.14, :ru_in)
|
237
|
+
assert_equal "нуле гривнах нуле копейках", RuPropisju.griven(0, :ru_in)
|
238
|
+
|
169
239
|
# ua locale
|
170
240
|
assert_equal "сто двадцять три гривні", RuPropisju.griven(123, :ua)
|
171
241
|
assert_equal "сто двадцять чотири гривні", RuPropisju.griven(124, :ua)
|
@@ -175,7 +245,37 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
175
245
|
assert_equal "одна гривня", RuPropisju.grivna(1, :ua)
|
176
246
|
assert_equal "три гривні чотирнадцять копійок", RuPropisju.grivny(3.14, :ua)
|
177
247
|
assert_equal "нуль гривень нуль копійок", RuPropisju.griven(0, :ua)
|
248
|
+
end
|
178
249
|
|
250
|
+
def test_tenge
|
251
|
+
assert_equal "сто двадцать три тенге", RuPropisju.tenge(123)
|
252
|
+
assert_equal "сто двадцать четыре тенге", RuPropisju.tenge(124)
|
253
|
+
assert_equal "триста сорок три тенге двадцать тиынов", RuPropisju.tenge(343.20)
|
254
|
+
assert_equal "сорок два тиына", RuPropisju.tenge(0.4187)
|
255
|
+
assert_equal "триста тридцать два тенге", RuPropisju.tenge(331.995)
|
256
|
+
assert_equal "триста тридцать один тенге девяносто девять тиынов", RuPropisju.tenge(331.985)
|
257
|
+
assert_equal "один тенге", RuPropisju.tenge(1)
|
258
|
+
assert_equal "три тенге четырнадцать тиынов", RuPropisju.tenge(3.14)
|
259
|
+
assert_equal "ноль тенге ноль тиынов", RuPropisju.tenge(0)
|
260
|
+
|
261
|
+
# ru locale предложный падеж
|
262
|
+
assert_equal "ста двадцати трёх тенге", RuPropisju.tenge(123, :ru_in)
|
263
|
+
assert_equal "ста двадцати четырёх тенге", RuPropisju.tenge(124, :ru_in)
|
264
|
+
assert_equal "трёхстах сорока трёх тенге двадцати тиынах", RuPropisju.tenge(343.20, :ru_in)
|
265
|
+
assert_equal "сорока двух тиынах", RuPropisju.tenge(0.4187, :ru_in)
|
266
|
+
assert_equal "трёхстах тридцати двух тенге", RuPropisju.tenge(331.995, :ru_in)
|
267
|
+
assert_equal "трёхстах тридцати одном тенге девяноста девяти тиынах", RuPropisju.tenge(331.985, :ru_in)
|
268
|
+
assert_equal "одном тенге", RuPropisju.tenge(1, :ru_in)
|
269
|
+
assert_equal "трёх тенге четырнадцати тиынах", RuPropisju.tenge(3.14, :ru_in)
|
270
|
+
assert_equal "нуле тенге нуле тиынах", RuPropisju.tenge(0, :ru_in)
|
271
|
+
|
272
|
+
# ua locale
|
273
|
+
assert_equal "сто двадцять три тенге", RuPropisju.tenge(123, :ua)
|
274
|
+
assert_equal "триста сорок три тенге двадцять тиынов", RuPropisju.tenge(343.20, :ua)
|
275
|
+
assert_equal "сорок два тиына", RuPropisju.tenge(0.4187, :ua)
|
276
|
+
assert_equal "триста тридцять два тенге", RuPropisju.tenge(331.995, :ua)
|
277
|
+
assert_equal "один тенге", RuPropisju.tenge(1, :ua)
|
278
|
+
assert_equal "три тенге чотирнадцять тиынов", RuPropisju.tenge(3.14, :ua)
|
179
279
|
end
|
180
280
|
|
181
281
|
def test_kopeek
|
@@ -185,6 +285,15 @@ class TestRuPropisju < Test::Unit::TestCase
|
|
185
285
|
assert_equal "32 копейки", RuPropisju.kopeek(32)
|
186
286
|
assert_equal "21 копейка", RuPropisju.kopeika(21)
|
187
287
|
assert_equal "3 копейки", RuPropisju.kopeiki(3)
|
288
|
+
|
289
|
+
# ru locale предложный падеж
|
290
|
+
assert_equal "нуле рублях 0 копейках", RuPropisju.kopeek(0, :ru_in)
|
291
|
+
assert_equal "ста двадцати трёх рублях", RuPropisju.kopeek(12300, :ru_in)
|
292
|
+
assert_equal "трёх рублях 14 копейках", RuPropisju.kopeek(314, :ru_in)
|
293
|
+
assert_equal "32 копейках", RuPropisju.kopeek(32, :ru_in)
|
294
|
+
assert_equal "21 копейке", RuPropisju.kopeika(21, :ru_in)
|
295
|
+
assert_equal "3 копейках", RuPropisju.kopeiki(3, :ru_in)
|
296
|
+
|
188
297
|
# ua locale
|
189
298
|
assert_equal "сто двадцять три рубля", RuPropisju.kopeek(12300, :ua)
|
190
299
|
assert_equal "три рубля 14 копійок", RuPropisju.kopeek(314, :ua)
|
metadata
CHANGED
@@ -1,64 +1,76 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ru_propisju
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 3
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 2
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 2.3.0
|
5
11
|
platform: ruby
|
6
|
-
authors:
|
12
|
+
authors:
|
7
13
|
- Julik Tarkhanov
|
8
14
|
autorequire:
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
|
18
|
+
date: 2014-10-22 00:00:00 +02:00
|
19
|
+
default_executable:
|
20
|
+
dependencies:
|
21
|
+
- !ruby/object:Gem::Dependency
|
22
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - "="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 63
|
28
|
+
segments:
|
29
|
+
- 1
|
30
|
+
- 8
|
31
|
+
- 4
|
32
|
+
version: 1.8.4
|
20
33
|
type: :development
|
34
|
+
version_requirements: *id001
|
21
35
|
prerelease: false
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
36
|
+
name: jeweler
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
31
41
|
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
34
47
|
type: :development
|
48
|
+
version_requirements: *id002
|
35
49
|
prerelease: false
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: test-unit
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
50
|
+
name: rake
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
45
55
|
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
48
61
|
type: :development
|
62
|
+
version_requirements: *id003
|
49
63
|
prerelease: false
|
50
|
-
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
64
|
+
name: test-unit
|
55
65
|
description:
|
56
66
|
email: me@julik.nl
|
57
67
|
executables: []
|
68
|
+
|
58
69
|
extensions: []
|
59
|
-
|
70
|
+
|
71
|
+
extra_rdoc_files:
|
60
72
|
- README.rdoc
|
61
|
-
files:
|
73
|
+
files:
|
62
74
|
- Gemfile
|
63
75
|
- History.txt
|
64
76
|
- README.rdoc
|
@@ -66,28 +78,41 @@ files:
|
|
66
78
|
- lib/ru_propisju.rb
|
67
79
|
- ru_propisju.gemspec
|
68
80
|
- test/test_ru_propisju.rb
|
81
|
+
has_rdoc: true
|
69
82
|
homepage: http://github.com/julik/ru_propisju
|
70
|
-
licenses:
|
83
|
+
licenses:
|
71
84
|
- MIT
|
72
|
-
metadata: {}
|
73
85
|
post_install_message:
|
74
86
|
rdoc_options: []
|
75
|
-
|
87
|
+
|
88
|
+
require_paths:
|
76
89
|
- lib
|
77
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
|
90
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
91
|
+
none: false
|
92
|
+
requirements:
|
79
93
|
- - ">="
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
|
82
|
-
|
83
|
-
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
hash: 3
|
96
|
+
segments:
|
97
|
+
- 0
|
98
|
+
version: "0"
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
84
102
|
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
hash: 3
|
105
|
+
segments:
|
106
|
+
- 0
|
107
|
+
version: "0"
|
87
108
|
requirements: []
|
109
|
+
|
88
110
|
rubyforge_project:
|
89
|
-
rubygems_version:
|
111
|
+
rubygems_version: 1.6.2
|
90
112
|
signing_key:
|
91
|
-
specification_version:
|
92
|
-
summary:
|
113
|
+
specification_version: 3
|
114
|
+
summary: !binary |
|
115
|
+
Q9GD0LzQvNCwINC/0YDQvtC/0LjRgdGM0Y4=
|
116
|
+
|
93
117
|
test_files: []
|
118
|
+
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 3dc29699dc852feead63990d7aac25f924e0c770
|
4
|
-
data.tar.gz: 7b48a7806d522d0464f901cce53c7b6bfcc6a483
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 7174d7a50f43ceacfa80481fb27472e0aac36653d5bf5f205693861df17a11d2be01a108c662eafd8f04146eae0c3d1d1eee6c776666e93ba1afd266f7755ca2
|
7
|
-
data.tar.gz: af5f85e2de1222014234ca9df3a0c0058eed691ab13b52bcb812619999539a702a7e5550f9509662c7756bab7e9fe5d8bb63842ac64c47331732c377c8bdf2c2
|