spell_number 0.0.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +42 -0
- data/Gemfile +5 -13
- data/Gemfile.lock +32 -23
- data/LICENSE.txt +203 -18
- data/Rakefile +2 -50
- data/bin/console +14 -0
- data/spec/number_to_spell_de_spec.rb +76 -77
- data/spec/number_to_spell_spec.rb +91 -92
- data/spec/spec_helper.rb +1 -0
- data/spell_number.gemspec +17 -65
- metadata +76 -114
@@ -1,301 +1,300 @@
|
|
1
|
-
require '
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
|
-
describe "spell numbers in english" do
|
4
|
-
|
3
|
+
describe "spell numbers in english" do
|
5
4
|
def test_number(number, result)
|
6
|
-
SpellNumber.number_to_words(number, :
|
5
|
+
expect(SpellNumber.number_to_words(number, locale: 'en')).to eq result
|
7
6
|
end
|
8
|
-
|
7
|
+
|
9
8
|
describe "Single digits" do
|
10
9
|
it "should transform 1" do
|
11
10
|
test_number(1, 'one')
|
12
11
|
end
|
13
|
-
|
12
|
+
|
14
13
|
it "should transform 2" do
|
15
14
|
test_number(2, 'two')
|
16
15
|
end
|
17
|
-
|
16
|
+
|
18
17
|
it "should transform 3" do
|
19
18
|
test_number(3, 'three')
|
20
19
|
end
|
21
|
-
|
20
|
+
|
22
21
|
it "should transform 4" do
|
23
22
|
test_number(4, 'four')
|
24
23
|
end
|
25
|
-
|
24
|
+
|
26
25
|
it "should transform 5" do
|
27
26
|
test_number(5, 'five')
|
28
27
|
end
|
29
|
-
|
28
|
+
|
30
29
|
it "should transform 6" do
|
31
30
|
test_number(6, 'six')
|
32
31
|
end
|
33
|
-
|
32
|
+
|
34
33
|
it "should transform 7" do
|
35
34
|
test_number(7, 'seven')
|
36
35
|
end
|
37
|
-
|
36
|
+
|
38
37
|
it "should transform 8" do
|
39
38
|
test_number(8, 'eight')
|
40
39
|
end
|
41
|
-
|
40
|
+
|
42
41
|
it "should transform 9" do
|
43
42
|
test_number(9, 'nine')
|
44
43
|
end
|
45
|
-
|
44
|
+
|
46
45
|
it "should transform 10" do
|
47
46
|
test_number(0, 'zero')
|
48
47
|
end
|
49
48
|
end
|
50
|
-
|
51
|
-
describe "Teens" do
|
52
|
-
|
49
|
+
|
50
|
+
describe "Teens" do
|
51
|
+
|
53
52
|
it "should spell 10 as ten" do
|
54
53
|
test_number(10, 'ten')
|
55
54
|
end
|
56
|
-
|
55
|
+
|
57
56
|
it "should spell 11 as eleven" do
|
58
57
|
test_number(11, 'eleven')
|
59
58
|
end
|
60
|
-
|
59
|
+
|
61
60
|
it "should spell 12 as twelve" do
|
62
61
|
test_number(12, 'twelve')
|
63
62
|
end
|
64
|
-
|
63
|
+
|
65
64
|
it "should spell 13 as thirteen" do
|
66
65
|
test_number(13, 'thirteen')
|
67
66
|
end
|
68
|
-
|
67
|
+
|
69
68
|
it "should spell 14 as fourteen" do
|
70
69
|
test_number(14, 'fourteen')
|
71
70
|
end
|
72
|
-
|
71
|
+
|
73
72
|
it "should spell 15 as fifteen" do
|
74
73
|
test_number(15, 'fifteen')
|
75
74
|
end
|
76
|
-
|
75
|
+
|
77
76
|
it "should spell 16 as sixteen" do
|
78
77
|
test_number(16, 'sixteen')
|
79
78
|
end
|
80
|
-
|
79
|
+
|
81
80
|
it "should spell 17 as seventeen" do
|
82
81
|
test_number(17, 'seventeen')
|
83
82
|
end
|
84
|
-
|
83
|
+
|
85
84
|
it "should spell 18 as eighteen" do
|
86
85
|
test_number(18, 'eighteen')
|
87
86
|
end
|
88
|
-
|
87
|
+
|
89
88
|
it "should spell 19 as nineteen" do
|
90
89
|
test_number(19, 'nineteen')
|
91
90
|
end
|
92
91
|
end
|
93
|
-
|
92
|
+
|
94
93
|
describe "Twenties" do
|
95
|
-
|
94
|
+
|
96
95
|
it "should spell 20 as twenty" do
|
97
96
|
test_number(20, 'twenty')
|
98
97
|
end
|
99
|
-
|
98
|
+
|
100
99
|
it "should spell 21 as twenty-one" do
|
101
100
|
test_number(21, 'twenty-one')
|
102
101
|
end
|
103
|
-
|
102
|
+
|
104
103
|
it "should spell 22 as twenty-two" do
|
105
104
|
test_number(22, 'twenty-two')
|
106
105
|
end
|
107
|
-
|
106
|
+
|
108
107
|
it "should spell 23 as twenty-three" do
|
109
108
|
test_number(23, 'twenty-three')
|
110
109
|
end
|
111
|
-
|
110
|
+
|
112
111
|
it "should spell 24 as twenty-four" do
|
113
112
|
test_number(24, 'twenty-four')
|
114
113
|
end
|
115
|
-
|
114
|
+
|
116
115
|
it "should spell 25 as twenty-five" do
|
117
116
|
test_number(25, 'twenty-five')
|
118
117
|
end
|
119
|
-
|
118
|
+
|
120
119
|
it "should spell 26 as twenty-six" do
|
121
120
|
test_number(26, 'twenty-six')
|
122
121
|
end
|
123
|
-
|
122
|
+
|
124
123
|
it "should spell 27 as twenty-seven" do
|
125
124
|
test_number(27, 'twenty-seven')
|
126
125
|
end
|
127
|
-
|
126
|
+
|
128
127
|
it "should spell 28 as twenty-eight" do
|
129
128
|
test_number(28, 'twenty-eight')
|
130
129
|
end
|
131
|
-
|
130
|
+
|
132
131
|
it "should spell 29 as twenty-nine" do
|
133
132
|
test_number(29, 'twenty-nine')
|
134
133
|
end
|
135
134
|
end
|
136
|
-
|
137
|
-
describe "Thirties" do
|
135
|
+
|
136
|
+
describe "Thirties" do
|
138
137
|
it "should spell 30 as thirty" do
|
139
138
|
test_number(30, 'thirty')
|
140
139
|
end
|
141
|
-
|
140
|
+
|
142
141
|
it "should spell 33 as thirty-three" do
|
143
142
|
test_number(33, 'thirty-three')
|
144
|
-
end
|
143
|
+
end
|
145
144
|
end
|
146
|
-
|
147
|
-
describe "Fourties" do
|
145
|
+
|
146
|
+
describe "Fourties" do
|
148
147
|
it "should spell 40 as fourty" do
|
149
148
|
test_number(40, 'fourty')
|
150
149
|
end
|
151
|
-
|
150
|
+
|
152
151
|
it "should spell 44 as fourty-four" do
|
153
152
|
test_number(44, 'fourty-four')
|
154
|
-
end
|
153
|
+
end
|
155
154
|
end
|
156
|
-
|
157
|
-
describe "Fifties" do
|
155
|
+
|
156
|
+
describe "Fifties" do
|
158
157
|
it "should spell 50 as fifty" do
|
159
158
|
test_number(50, 'fifty')
|
160
159
|
end
|
161
|
-
|
160
|
+
|
162
161
|
it "should spell 55 as fifty-five" do
|
163
162
|
test_number(55, 'fifty-five')
|
164
|
-
end
|
163
|
+
end
|
165
164
|
end
|
166
|
-
|
167
|
-
describe "Sixties" do
|
165
|
+
|
166
|
+
describe "Sixties" do
|
168
167
|
it "should spell 60 as sixty" do
|
169
168
|
test_number(60, 'sixty')
|
170
169
|
end
|
171
|
-
|
170
|
+
|
172
171
|
it "should spell 66 as sixty-six" do
|
173
172
|
test_number(66, 'sixty-six')
|
174
|
-
end
|
173
|
+
end
|
175
174
|
end
|
176
|
-
|
177
|
-
describe "Seventies" do
|
175
|
+
|
176
|
+
describe "Seventies" do
|
178
177
|
it "should spell 70 as seventy" do
|
179
178
|
test_number(70, 'seventy')
|
180
179
|
end
|
181
|
-
|
180
|
+
|
182
181
|
it "should spell 77 as seventy-seven" do
|
183
182
|
test_number(77, 'seventy-seven')
|
184
|
-
end
|
183
|
+
end
|
185
184
|
end
|
186
|
-
|
187
|
-
describe "Eighties" do
|
185
|
+
|
186
|
+
describe "Eighties" do
|
188
187
|
it "should spell 80 as eighty" do
|
189
188
|
test_number(80, 'eighty')
|
190
189
|
end
|
191
|
-
|
190
|
+
|
192
191
|
it "should spell 88 as eighty-eight" do
|
193
192
|
test_number(88, 'eighty-eight')
|
194
|
-
end
|
193
|
+
end
|
195
194
|
end
|
196
|
-
|
197
|
-
describe "Nineties" do
|
195
|
+
|
196
|
+
describe "Nineties" do
|
198
197
|
it "should spell 90 as ninety" do
|
199
198
|
test_number(90, 'ninety')
|
200
199
|
end
|
201
|
-
|
200
|
+
|
202
201
|
it "should spell 99 as ninety-nine" do
|
203
202
|
test_number(99, 'ninety-nine')
|
204
|
-
end
|
203
|
+
end
|
205
204
|
end
|
206
|
-
|
205
|
+
|
207
206
|
describe "Hundreds" do
|
208
207
|
it "should spell 100 as one hundred" do
|
209
208
|
test_number(100, 'one hundred')
|
210
209
|
end
|
211
|
-
|
210
|
+
|
212
211
|
it "should spell 101 as one hundred and one" do
|
213
212
|
test_number(101, 'one hundred and one')
|
214
213
|
end
|
215
|
-
|
214
|
+
|
216
215
|
it "should spell 111 as one hundred and eleven" do
|
217
216
|
test_number(111, 'one hundred and eleven')
|
218
217
|
end
|
219
|
-
|
218
|
+
|
220
219
|
it "should spell 155 as one hundred and fifty-five" do
|
221
220
|
test_number(155, 'one hundred and fifty-five')
|
222
221
|
end
|
223
|
-
|
222
|
+
|
224
223
|
it "should spell 190 as one hundred and ninety" do
|
225
224
|
test_number(190, 'one hundred and ninety')
|
226
225
|
end
|
227
|
-
|
226
|
+
|
228
227
|
it "should spell 200 as two hundred" do
|
229
228
|
test_number(200, 'two hundred')
|
230
229
|
end
|
231
|
-
|
230
|
+
|
232
231
|
it "should spell 222 as two hundred and twenty-two" do
|
233
232
|
test_number(222, 'two hundred and twenty-two')
|
234
233
|
end
|
235
|
-
|
234
|
+
|
236
235
|
it "should spell 999 as nine hundred and ninety-nine" do
|
237
236
|
test_number(999, 'nine hundred and ninety-nine')
|
238
237
|
end
|
239
238
|
end
|
240
|
-
|
239
|
+
|
241
240
|
describe "Thousands" do
|
242
|
-
|
241
|
+
|
243
242
|
it "should spell 1000 as one thousand" do
|
244
243
|
test_number(1000, 'one thousand')
|
245
244
|
end
|
246
|
-
|
245
|
+
|
247
246
|
it "should spell 1001 as one thousand and one" do
|
248
247
|
test_number(1001, 'one thousand and one')
|
249
248
|
end
|
250
|
-
|
249
|
+
|
251
250
|
it "should spell 1011 as one thousand and eleven" do
|
252
251
|
test_number(1011, 'one thousand and eleven')
|
253
252
|
end
|
254
|
-
|
253
|
+
|
255
254
|
it "should spell 1100 as one thousand, one hundred" do
|
256
255
|
test_number(1100, 'one thousand, one hundred')
|
257
256
|
end
|
258
|
-
|
257
|
+
|
259
258
|
it "should spell 1111 as one thousand, one hundred and one" do
|
260
259
|
test_number(1111, 'one thousand, one hundred and eleven')
|
261
260
|
end
|
262
|
-
|
261
|
+
|
263
262
|
it "should spell 999,999 as nine hundred ninety-nine thousand, nine hundred and ninety-nine" do
|
264
263
|
test_number(999999, 'nine hundred and ninety-nine thousand, nine hundred and ninety-nine')
|
265
264
|
end
|
266
|
-
|
265
|
+
|
267
266
|
end
|
268
|
-
|
267
|
+
|
269
268
|
describe "Millions" do
|
270
|
-
|
269
|
+
|
271
270
|
it "should spell 1.000.000 as one million" do
|
272
271
|
test_number(1000000, 'one million')
|
273
272
|
end
|
274
|
-
|
273
|
+
|
275
274
|
it "should spell 1.000.001 as one million and one" do
|
276
275
|
test_number(1000001, 'one million and one')
|
277
276
|
end
|
278
|
-
|
277
|
+
|
279
278
|
it "should spell 1.000.011 as one million and eleven" do
|
280
279
|
test_number(1000011, 'one million and eleven')
|
281
280
|
end
|
282
|
-
|
281
|
+
|
283
282
|
it "should spell 1.000.100 as one million, one hundred" do
|
284
283
|
test_number(1000100, 'one million, one hundred')
|
285
284
|
end
|
286
|
-
|
285
|
+
|
287
286
|
it "should spell 1.000.111 as one million, one hundred and eleven" do
|
288
287
|
test_number(1000000, 'one million')
|
289
288
|
end
|
290
|
-
|
289
|
+
|
291
290
|
it "should spell 1.001.111 as one million, one thousand, one hundred and eleven" do
|
292
291
|
test_number(1001111, 'one million, one thousand, one hundred and eleven')
|
293
292
|
end
|
294
|
-
|
293
|
+
|
295
294
|
it "should spell 999.999.999.999 as nine hundred ninety-nine thousand million, nine hundred ninenty-nine thousand, nine hundred and ninety-nine" do
|
296
295
|
test_number(999999999999, 'nine hundred and ninety-nine thousand, nine hundred and ninety-nine million, nine hundred and ninety-nine thousand, nine hundred and ninety-nine')
|
297
296
|
end
|
298
|
-
|
297
|
+
|
299
298
|
end
|
300
|
-
|
301
|
-
end
|
299
|
+
|
300
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'spell_number'
|
data/spell_number.gemspec
CHANGED
@@ -1,69 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
1
|
+
lib = File.expand_path("../lib", __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
|
6
|
-
Gem::Specification.new do |
|
7
|
-
|
8
|
-
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.name = "spell_number"
|
6
|
+
spec.version = "0.2.1"
|
7
|
+
spec.authors = ["Daniel Hahn"]
|
8
|
+
spec.description = "Simple Gem to spell numbers as words"
|
9
|
+
spec.email = ["developers@betterplace.org"]
|
10
|
+
spec.summary = "Spell numbers as words"
|
11
|
+
spec.homepage = "https://github.com/betterplace/spell_number"
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
s.description = "Simple Gem to spell numbers as words"
|
14
|
-
s.email = "developers@betterplace.org"
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE.txt",
|
17
|
-
"README.rdoc"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
"Gemfile",
|
22
|
-
"Gemfile.lock",
|
23
|
-
"LICENSE.txt",
|
24
|
-
"README.rdoc",
|
25
|
-
"Rakefile",
|
26
|
-
"VERSION",
|
27
|
-
"lib/spell_number.rb",
|
28
|
-
"lib/spell_number/speller.rb",
|
29
|
-
"locales/de.yml",
|
30
|
-
"locales/en.yml",
|
31
|
-
"spec/number_to_spell_de_spec.rb",
|
32
|
-
"spec/number_to_spell_spec.rb",
|
33
|
-
"spell_number.gemspec"
|
34
|
-
]
|
35
|
-
s.homepage = "http://github.com/betterplace/spell_number"
|
36
|
-
s.licenses = ["MIT"]
|
37
|
-
s.require_paths = ["lib"]
|
38
|
-
s.rubygems_version = "1.8.17"
|
39
|
-
s.summary = "Spell numbers as words"
|
40
|
-
s.test_files = [
|
41
|
-
"spec/number_to_spell_de_spec.rb",
|
42
|
-
"spec/number_to_spell_spec.rb"
|
43
|
-
]
|
13
|
+
spec.files = `git ls-files`.split("\n")
|
14
|
+
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
15
|
+
spec.require_paths = ["lib"]
|
44
16
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
s.add_runtime_dependency(%q<i18n>, [">= 0.3.7"])
|
50
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
51
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
52
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
53
|
-
s.add_development_dependency(%q<rcov>, [">= 0"])
|
54
|
-
else
|
55
|
-
s.add_dependency(%q<i18n>, [">= 0.3.7"])
|
56
|
-
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
57
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
58
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
59
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
60
|
-
end
|
61
|
-
else
|
62
|
-
s.add_dependency(%q<i18n>, [">= 0.3.7"])
|
63
|
-
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
64
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
65
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
66
|
-
s.add_dependency(%q<rcov>, [">= 0"])
|
67
|
-
end
|
17
|
+
spec.add_dependency "i18n", "~> 1.0.0"
|
18
|
+
spec.add_development_dependency "bundler"
|
19
|
+
spec.add_development_dependency "rake"
|
20
|
+
spec.add_development_dependency "rspec"
|
68
21
|
end
|
69
|
-
|