ankusa 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,439 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Ankusa::MemoryStorage</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Ankusa::MemoryStorage</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/ankusa/memory_storage_rb.html">
59
+ lib/ankusa/memory_storage.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000010">classnames</a>&nbsp;&nbsp;
90
+ <a href="#M000021">close</a>&nbsp;&nbsp;
91
+ <a href="#M000020">doc_count_total</a>&nbsp;&nbsp;
92
+ <a href="#M000012">drop_tables</a>&nbsp;&nbsp;
93
+ <a href="#M000016">get_doc_count</a>&nbsp;&nbsp;
94
+ <a href="#M000015">get_total_word_count</a>&nbsp;&nbsp;
95
+ <a href="#M000014">get_word_counts</a>&nbsp;&nbsp;
96
+ <a href="#M000019">incr_doc_count</a>&nbsp;&nbsp;
97
+ <a href="#M000018">incr_total_word_count</a>&nbsp;&nbsp;
98
+ <a href="#M000017">incr_word_count</a>&nbsp;&nbsp;
99
+ <a href="#M000013">init_tables</a>&nbsp;&nbsp;
100
+ <a href="#M000009">new</a>&nbsp;&nbsp;
101
+ <a href="#M000011">reset</a>&nbsp;&nbsp;
102
+ </div>
103
+ </div>
104
+
105
+ </div>
106
+
107
+
108
+ <!-- if includes -->
109
+
110
+ <div id="section">
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ <!-- if method_list -->
120
+ <div id="methods">
121
+ <h3 class="section-bar">Public Class methods</h3>
122
+
123
+ <div id="method-M000009" class="method-detail">
124
+ <a name="M000009"></a>
125
+
126
+ <div class="method-heading">
127
+ <a href="#M000009" class="method-signature">
128
+ <span class="method-name">new</span><span class="method-args">()</span>
129
+ </a>
130
+ </div>
131
+
132
+ <div class="method-description">
133
+ <p><a class="source-toggle" href="#"
134
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
135
+ <div class="method-source-code" id="M000009-source">
136
+ <pre>
137
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 4</span>
138
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
139
+ <span class="ruby-identifier">init_tables</span>
140
+ <span class="ruby-keyword kw">end</span>
141
+ </pre>
142
+ </div>
143
+ </div>
144
+ </div>
145
+
146
+ <h3 class="section-bar">Public Instance methods</h3>
147
+
148
+ <div id="method-M000010" class="method-detail">
149
+ <a name="M000010"></a>
150
+
151
+ <div class="method-heading">
152
+ <a href="#M000010" class="method-signature">
153
+ <span class="method-name">classnames</span><span class="method-args">()</span>
154
+ </a>
155
+ </div>
156
+
157
+ <div class="method-description">
158
+ <p><a class="source-toggle" href="#"
159
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
160
+ <div class="method-source-code" id="M000010-source">
161
+ <pre>
162
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 8</span>
163
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">classnames</span>
164
+ <span class="ruby-ivar">@total_doc_counts</span>.<span class="ruby-identifier">keys</span>
165
+ <span class="ruby-keyword kw">end</span>
166
+ </pre>
167
+ </div>
168
+ </div>
169
+ </div>
170
+
171
+ <div id="method-M000021" class="method-detail">
172
+ <a name="M000021"></a>
173
+
174
+ <div class="method-heading">
175
+ <a href="#M000021" class="method-signature">
176
+ <span class="method-name">close</span><span class="method-args">()</span>
177
+ </a>
178
+ </div>
179
+
180
+ <div class="method-description">
181
+ <p><a class="source-toggle" href="#"
182
+ onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
183
+ <div class="method-source-code" id="M000021-source">
184
+ <pre>
185
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 56</span>
186
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
187
+ <span class="ruby-keyword kw">end</span>
188
+ </pre>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
+ <div id="method-M000020" class="method-detail">
194
+ <a name="M000020"></a>
195
+
196
+ <div class="method-heading">
197
+ <a href="#M000020" class="method-signature">
198
+ <span class="method-name">doc_count_total</span><span class="method-args">()</span>
199
+ </a>
200
+ </div>
201
+
202
+ <div class="method-description">
203
+ <p><a class="source-toggle" href="#"
204
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
205
+ <div class="method-source-code" id="M000020-source">
206
+ <pre>
207
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 52</span>
208
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">doc_count_total</span>
209
+ <span class="ruby-ivar">@total_doc_counts</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">inject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">x</span>,<span class="ruby-identifier">y</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span><span class="ruby-operator">+</span><span class="ruby-identifier">y</span> }
210
+ <span class="ruby-keyword kw">end</span>
211
+ </pre>
212
+ </div>
213
+ </div>
214
+ </div>
215
+
216
+ <div id="method-M000012" class="method-detail">
217
+ <a name="M000012"></a>
218
+
219
+ <div class="method-heading">
220
+ <a href="#M000012" class="method-signature">
221
+ <span class="method-name">drop_tables</span><span class="method-args">()</span>
222
+ </a>
223
+ </div>
224
+
225
+ <div class="method-description">
226
+ <p><a class="source-toggle" href="#"
227
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
228
+ <div class="method-source-code" id="M000012-source">
229
+ <pre>
230
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 16</span>
231
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">drop_tables</span>
232
+ <span class="ruby-keyword kw">end</span>
233
+ </pre>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+ <div id="method-M000016" class="method-detail">
239
+ <a name="M000016"></a>
240
+
241
+ <div class="method-heading">
242
+ <a href="#M000016" class="method-signature">
243
+ <span class="method-name">get_doc_count</span><span class="method-args">(klass)</span>
244
+ </a>
245
+ </div>
246
+
247
+ <div class="method-description">
248
+ <p><a class="source-toggle" href="#"
249
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M000016-source">
251
+ <pre>
252
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 35</span>
253
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_doc_count</span>(<span class="ruby-identifier">klass</span>)
254
+ <span class="ruby-ivar">@total_doc_counts</span>[<span class="ruby-identifier">klass</span>]
255
+ <span class="ruby-keyword kw">end</span>
256
+ </pre>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000015" class="method-detail">
262
+ <a name="M000015"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="#M000015" class="method-signature">
266
+ <span class="method-name">get_total_word_count</span><span class="method-args">(klass)</span>
267
+ </a>
268
+ </div>
269
+
270
+ <div class="method-description">
271
+ <p><a class="source-toggle" href="#"
272
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
273
+ <div class="method-source-code" id="M000015-source">
274
+ <pre>
275
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 31</span>
276
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_total_word_count</span>(<span class="ruby-identifier">klass</span>)
277
+ <span class="ruby-ivar">@total_word_counts</span>[<span class="ruby-identifier">klass</span>]
278
+ <span class="ruby-keyword kw">end</span>
279
+ </pre>
280
+ </div>
281
+ </div>
282
+ </div>
283
+
284
+ <div id="method-M000014" class="method-detail">
285
+ <a name="M000014"></a>
286
+
287
+ <div class="method-heading">
288
+ <a href="#M000014" class="method-signature">
289
+ <span class="method-name">get_word_counts</span><span class="method-args">(word)</span>
290
+ </a>
291
+ </div>
292
+
293
+ <div class="method-description">
294
+ <p><a class="source-toggle" href="#"
295
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
296
+ <div class="method-source-code" id="M000014-source">
297
+ <pre>
298
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 27</span>
299
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_word_counts</span>(<span class="ruby-identifier">word</span>)
300
+ <span class="ruby-ivar">@freqs</span>.<span class="ruby-identifier">fetch</span> <span class="ruby-identifier">word</span>, <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
301
+ <span class="ruby-keyword kw">end</span>
302
+ </pre>
303
+ </div>
304
+ </div>
305
+ </div>
306
+
307
+ <div id="method-M000019" class="method-detail">
308
+ <a name="M000019"></a>
309
+
310
+ <div class="method-heading">
311
+ <a href="#M000019" class="method-signature">
312
+ <span class="method-name">incr_doc_count</span><span class="method-args">(klass, count)</span>
313
+ </a>
314
+ </div>
315
+
316
+ <div class="method-description">
317
+ <p><a class="source-toggle" href="#"
318
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
319
+ <div class="method-source-code" id="M000019-source">
320
+ <pre>
321
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 48</span>
322
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">incr_doc_count</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">count</span>)
323
+ <span class="ruby-ivar">@total_doc_counts</span>[<span class="ruby-identifier">klass</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">count</span>
324
+ <span class="ruby-keyword kw">end</span>
325
+ </pre>
326
+ </div>
327
+ </div>
328
+ </div>
329
+
330
+ <div id="method-M000018" class="method-detail">
331
+ <a name="M000018"></a>
332
+
333
+ <div class="method-heading">
334
+ <a href="#M000018" class="method-signature">
335
+ <span class="method-name">incr_total_word_count</span><span class="method-args">(klass, count)</span>
336
+ </a>
337
+ </div>
338
+
339
+ <div class="method-description">
340
+ <p><a class="source-toggle" href="#"
341
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
342
+ <div class="method-source-code" id="M000018-source">
343
+ <pre>
344
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 44</span>
345
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">incr_total_word_count</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">count</span>)
346
+ <span class="ruby-ivar">@total_word_counts</span>[<span class="ruby-identifier">klass</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">count</span>
347
+ <span class="ruby-keyword kw">end</span>
348
+ </pre>
349
+ </div>
350
+ </div>
351
+ </div>
352
+
353
+ <div id="method-M000017" class="method-detail">
354
+ <a name="M000017"></a>
355
+
356
+ <div class="method-heading">
357
+ <a href="#M000017" class="method-signature">
358
+ <span class="method-name">incr_word_count</span><span class="method-args">(klass, word, count)</span>
359
+ </a>
360
+ </div>
361
+
362
+ <div class="method-description">
363
+ <p><a class="source-toggle" href="#"
364
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
365
+ <div class="method-source-code" id="M000017-source">
366
+ <pre>
367
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 39</span>
368
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">incr_word_count</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">word</span>, <span class="ruby-identifier">count</span>)
369
+ <span class="ruby-ivar">@freqs</span>[<span class="ruby-identifier">word</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
370
+ <span class="ruby-ivar">@freqs</span>[<span class="ruby-identifier">word</span>][<span class="ruby-identifier">klass</span>] <span class="ruby-operator">+=</span> <span class="ruby-identifier">count</span>
371
+ <span class="ruby-keyword kw">end</span>
372
+ </pre>
373
+ </div>
374
+ </div>
375
+ </div>
376
+
377
+ <div id="method-M000013" class="method-detail">
378
+ <a name="M000013"></a>
379
+
380
+ <div class="method-heading">
381
+ <a href="#M000013" class="method-signature">
382
+ <span class="method-name">init_tables</span><span class="method-args">()</span>
383
+ </a>
384
+ </div>
385
+
386
+ <div class="method-description">
387
+ <p><a class="source-toggle" href="#"
388
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
389
+ <div class="method-source-code" id="M000013-source">
390
+ <pre>
391
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 19</span>
392
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_tables</span>
393
+ <span class="ruby-ivar">@freqs</span> = {}
394
+ <span class="ruby-ivar">@total_word_counts</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
395
+ <span class="ruby-ivar">@total_doc_counts</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
396
+ <span class="ruby-ivar">@klass_word_counts</span> = {}
397
+ <span class="ruby-ivar">@klass_doc_counts</span> = {}
398
+ <span class="ruby-keyword kw">end</span>
399
+ </pre>
400
+ </div>
401
+ </div>
402
+ </div>
403
+
404
+ <div id="method-M000011" class="method-detail">
405
+ <a name="M000011"></a>
406
+
407
+ <div class="method-heading">
408
+ <a href="#M000011" class="method-signature">
409
+ <span class="method-name">reset</span><span class="method-args">()</span>
410
+ </a>
411
+ </div>
412
+
413
+ <div class="method-description">
414
+ <p><a class="source-toggle" href="#"
415
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
416
+ <div class="method-source-code" id="M000011-source">
417
+ <pre>
418
+ <span class="ruby-comment cmt"># File lib/ankusa/memory_storage.rb, line 12</span>
419
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>
420
+ <span class="ruby-identifier">init_tables</span>
421
+ <span class="ruby-keyword kw">end</span>
422
+ </pre>
423
+ </div>
424
+ </div>
425
+ </div>
426
+
427
+
428
+ </div>
429
+
430
+
431
+ </div>
432
+
433
+
434
+ <div id="validator-badges">
435
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
436
+ </div>
437
+
438
+ </body>
439
+ </html>
@@ -86,9 +86,11 @@
86
86
  <h3 class="section-bar">Methods</h3>
87
87
 
88
88
  <div class="name-list">
89
- <a href="#M000016">add_text</a>&nbsp;&nbsp;
90
- <a href="#M000017">add_word</a>&nbsp;&nbsp;
91
- <a href="#M000015">new</a>&nbsp;&nbsp;
89
+ <a href="#M000038">add_text</a>&nbsp;&nbsp;
90
+ <a href="#M000039">add_word</a>&nbsp;&nbsp;
91
+ <a href="#M000040">atomize</a>&nbsp;&nbsp;
92
+ <a href="#M000037">new</a>&nbsp;&nbsp;
93
+ <a href="#M000041">valid_word?</a>&nbsp;&nbsp;
92
94
  </div>
93
95
  </div>
94
96
 
@@ -123,19 +125,42 @@
123
125
  <div id="methods">
124
126
  <h3 class="section-bar">Public Class methods</h3>
125
127
 
126
- <div id="method-M000015" class="method-detail">
127
- <a name="M000015"></a>
128
+ <div id="method-M000040" class="method-detail">
129
+ <a name="M000040"></a>
128
130
 
129
131
  <div class="method-heading">
130
- <a href="#M000015" class="method-signature">
132
+ <a href="#M000040" class="method-signature">
133
+ <span class="method-name">atomize</span><span class="method-args">(text)</span>
134
+ </a>
135
+ </div>
136
+
137
+ <div class="method-description">
138
+ <p><a class="source-toggle" href="#"
139
+ onclick="toggleCode('M000040-source');return false;">[Source]</a></p>
140
+ <div class="method-source-code" id="M000040-source">
141
+ <pre>
142
+ <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 33</span>
143
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">atomize</span>(<span class="ruby-identifier">text</span>)
144
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">to_ascii</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value str">' '</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/[^\w\s]/</span>,<span class="ruby-value str">&quot; &quot;</span>).<span class="ruby-identifier">split</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">w</span><span class="ruby-operator">|</span> <span class="ruby-identifier">w</span>.<span class="ruby-identifier">downcase</span> }
145
+ <span class="ruby-keyword kw">end</span>
146
+ </pre>
147
+ </div>
148
+ </div>
149
+ </div>
150
+
151
+ <div id="method-M000037" class="method-detail">
152
+ <a name="M000037"></a>
153
+
154
+ <div class="method-heading">
155
+ <a href="#M000037" class="method-signature">
131
156
  <span class="method-name">new</span><span class="method-args">(text=nil)</span>
132
157
  </a>
133
158
  </div>
134
159
 
135
160
  <div class="method-description">
136
161
  <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000015-source">
162
+ onclick="toggleCode('M000037-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000037-source">
139
164
  <pre>
140
165
  <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 9</span>
141
166
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">text</span>=<span class="ruby-keyword kw">nil</span>)
@@ -148,28 +173,61 @@
148
173
  </div>
149
174
  </div>
150
175
 
176
+ <div id="method-M000041" class="method-detail">
177
+ <a name="M000041"></a>
178
+
179
+ <div class="method-heading">
180
+ <a href="#M000041" class="method-signature">
181
+ <span class="method-name">valid_word?</span><span class="method-args">(word)</span>
182
+ </a>
183
+ </div>
184
+
185
+ <div class="method-description">
186
+ <p>
187
+ word should be only alphanum chars at this point
188
+ </p>
189
+ <p><a class="source-toggle" href="#"
190
+ onclick="toggleCode('M000041-source');return false;">[Source]</a></p>
191
+ <div class="method-source-code" id="M000041-source">
192
+ <pre>
193
+ <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 38</span>
194
+ <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">valid_word?</span>(<span class="ruby-identifier">word</span>)
195
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Ankusa</span><span class="ruby-operator">::</span><span class="ruby-constant">STOPWORDS</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">word</span>
196
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">word</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">3</span>
197
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">word</span>.<span class="ruby-identifier">numeric?</span>
198
+ <span class="ruby-keyword kw">true</span>
199
+ <span class="ruby-keyword kw">end</span>
200
+ </pre>
201
+ </div>
202
+ </div>
203
+ </div>
204
+
151
205
  <h3 class="section-bar">Public Instance methods</h3>
152
206
 
153
- <div id="method-M000016" class="method-detail">
154
- <a name="M000016"></a>
207
+ <div id="method-M000038" class="method-detail">
208
+ <a name="M000038"></a>
155
209
 
156
210
  <div class="method-heading">
157
- <a href="#M000016" class="method-signature">
211
+ <a href="#M000038" class="method-signature">
158
212
  <span class="method-name">add_text</span><span class="method-args">(text)</span>
159
213
  </a>
160
214
  </div>
161
215
 
162
216
  <div class="method-description">
163
217
  <p><a class="source-toggle" href="#"
164
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
165
- <div class="method-source-code" id="M000016-source">
218
+ onclick="toggleCode('M000038-source');return false;">[Source]</a></p>
219
+ <div class="method-source-code" id="M000038-source">
166
220
  <pre>
167
221
  <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 15</span>
168
222
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_text</span>(<span class="ruby-identifier">text</span>)
169
- <span class="ruby-comment cmt"># replace dashes with spaces, then get rid of non-word/non-space characters, </span>
170
- <span class="ruby-comment cmt"># then split by space to get words</span>
171
- <span class="ruby-identifier">words</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">'-'</span>, <span class="ruby-value str">' '</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/[^\w\s]/</span>,<span class="ruby-value str">&quot;&quot;</span>).<span class="ruby-identifier">split</span>
172
- <span class="ruby-identifier">words</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">word</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_word</span> <span class="ruby-identifier">word</span> }
223
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">text</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">Array</span>
224
+ <span class="ruby-identifier">text</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_text</span> <span class="ruby-identifier">t</span> }
225
+ <span class="ruby-keyword kw">else</span>
226
+ <span class="ruby-comment cmt"># replace dashes with spaces, then get rid of non-word/non-space characters, </span>
227
+ <span class="ruby-comment cmt"># then split by space to get words</span>
228
+ <span class="ruby-identifier">words</span> = <span class="ruby-constant">TextHash</span>.<span class="ruby-identifier">atomize</span> <span class="ruby-identifier">text</span>
229
+ <span class="ruby-identifier">words</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">word</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_word</span>(<span class="ruby-identifier">word</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">TextHash</span>.<span class="ruby-identifier">valid_word?</span>(<span class="ruby-identifier">word</span>) }
230
+ <span class="ruby-keyword kw">end</span>
173
231
  <span class="ruby-keyword kw">self</span>
174
232
  <span class="ruby-keyword kw">end</span>
175
233
  </pre>
@@ -177,28 +235,25 @@
177
235
  </div>
178
236
  </div>
179
237
 
180
- <div id="method-M000017" class="method-detail">
181
- <a name="M000017"></a>
238
+ <div id="method-M000039" class="method-detail">
239
+ <a name="M000039"></a>
182
240
 
183
241
  <div class="method-heading">
184
- <a href="#M000017" class="method-signature">
242
+ <a href="#M000039" class="method-signature">
185
243
  <span class="method-name">add_word</span><span class="method-args">(word)</span>
186
244
  </a>
187
245
  </div>
188
246
 
189
247
  <div class="method-description">
190
248
  <p><a class="source-toggle" href="#"
191
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
192
- <div class="method-source-code" id="M000017-source">
249
+ onclick="toggleCode('M000039-source');return false;">[Source]</a></p>
250
+ <div class="method-source-code" id="M000039-source">
193
251
  <pre>
194
- <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 23</span>
252
+ <span class="ruby-comment cmt"># File lib/ankusa/hasher.rb, line 27</span>
195
253
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_word</span>(<span class="ruby-identifier">word</span>)
196
- <span class="ruby-identifier">word</span> = <span class="ruby-identifier">word</span>.<span class="ruby-identifier">downcase</span>
197
- <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-constant">Ankusa</span><span class="ruby-operator">::</span><span class="ruby-constant">STOPWORDS</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">word</span>
198
- <span class="ruby-ivar">@word_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
199
- <span class="ruby-identifier">key</span> = <span class="ruby-identifier">word</span>.<span class="ruby-identifier">stem</span>.<span class="ruby-identifier">intern</span>
200
- <span class="ruby-identifier">store</span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">key</span>, <span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-value">1</span>
201
- <span class="ruby-keyword kw">end</span>
254
+ <span class="ruby-ivar">@word_count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
255
+ <span class="ruby-identifier">key</span> = <span class="ruby-identifier">word</span>.<span class="ruby-identifier">stem</span>.<span class="ruby-identifier">intern</span>
256
+ <span class="ruby-identifier">store</span> <span class="ruby-identifier">key</span>, <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">key</span>, <span class="ruby-value">0</span>)<span class="ruby-operator">+</span><span class="ruby-value">1</span>
202
257
  <span class="ruby-keyword kw">end</span>
203
258
  </pre>
204
259
  </div>