wordlist 0.1.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +27 -0
  3. data/.gitignore +6 -3
  4. data/ChangeLog.md +45 -1
  5. data/Gemfile +13 -0
  6. data/LICENSE.txt +1 -3
  7. data/README.md +266 -61
  8. data/Rakefile +7 -32
  9. data/benchmarks.rb +115 -0
  10. data/bin/wordlist +4 -7
  11. data/data/stop_words/ar.txt +104 -0
  12. data/data/stop_words/bg.txt +259 -0
  13. data/data/stop_words/bn.txt +363 -0
  14. data/data/stop_words/ca.txt +126 -0
  15. data/data/stop_words/cs.txt +138 -0
  16. data/data/stop_words/da.txt +101 -0
  17. data/data/stop_words/de.txt +129 -0
  18. data/data/stop_words/el.txt +79 -0
  19. data/data/stop_words/en.txt +175 -0
  20. data/data/stop_words/es.txt +178 -0
  21. data/data/stop_words/eu.txt +98 -0
  22. data/data/stop_words/fa.txt +332 -0
  23. data/data/stop_words/fi.txt +747 -0
  24. data/data/stop_words/fr.txt +116 -0
  25. data/data/stop_words/ga.txt +109 -0
  26. data/data/stop_words/gl.txt +160 -0
  27. data/data/stop_words/he.txt +499 -0
  28. data/data/stop_words/hi.txt +97 -0
  29. data/data/stop_words/hr.txt +179 -0
  30. data/data/stop_words/hu.txt +35 -0
  31. data/data/stop_words/hy.txt +45 -0
  32. data/data/stop_words/id.txt +357 -0
  33. data/data/stop_words/it.txt +134 -0
  34. data/data/stop_words/ja.txt +44 -0
  35. data/data/stop_words/ko.txt +677 -0
  36. data/data/stop_words/ku.txt +63 -0
  37. data/data/stop_words/lt.txt +507 -0
  38. data/data/stop_words/lv.txt +163 -0
  39. data/data/stop_words/mr.txt +99 -0
  40. data/data/stop_words/nl.txt +48 -0
  41. data/data/stop_words/no.txt +172 -0
  42. data/data/stop_words/pl.txt +138 -0
  43. data/data/stop_words/pt.txt +147 -0
  44. data/data/stop_words/ro.txt +281 -0
  45. data/data/stop_words/ru.txt +421 -0
  46. data/data/stop_words/sk.txt +173 -0
  47. data/data/stop_words/sv.txt +386 -0
  48. data/data/stop_words/th.txt +115 -0
  49. data/data/stop_words/tr.txt +114 -0
  50. data/data/stop_words/uk.txt +28 -0
  51. data/data/stop_words/ur.txt +513 -0
  52. data/data/stop_words/zh.txt +125 -0
  53. data/gemspec.yml +4 -10
  54. data/lib/wordlist/abstract_wordlist.rb +24 -0
  55. data/lib/wordlist/builder.rb +170 -138
  56. data/lib/wordlist/cli.rb +458 -0
  57. data/lib/wordlist/compression/reader.rb +72 -0
  58. data/lib/wordlist/compression/writer.rb +80 -0
  59. data/lib/wordlist/exceptions.rb +31 -0
  60. data/lib/wordlist/file.rb +176 -0
  61. data/lib/wordlist/format.rb +38 -0
  62. data/lib/wordlist/lexer/lang.rb +32 -0
  63. data/lib/wordlist/lexer/stop_words.rb +68 -0
  64. data/lib/wordlist/lexer.rb +218 -0
  65. data/lib/wordlist/list_methods.rb +462 -0
  66. data/lib/wordlist/modifiers/capitalize.rb +45 -0
  67. data/lib/wordlist/modifiers/downcase.rb +45 -0
  68. data/lib/wordlist/modifiers/gsub.rb +51 -0
  69. data/lib/wordlist/modifiers/modifier.rb +44 -0
  70. data/lib/wordlist/modifiers/mutate.rb +133 -0
  71. data/lib/wordlist/modifiers/mutate_case.rb +25 -0
  72. data/lib/wordlist/modifiers/sub.rb +97 -0
  73. data/lib/wordlist/modifiers/tr.rb +71 -0
  74. data/lib/wordlist/modifiers/upcase.rb +45 -0
  75. data/lib/wordlist/modifiers.rb +8 -0
  76. data/lib/wordlist/operators/binary_operator.rb +38 -0
  77. data/lib/wordlist/operators/concat.rb +47 -0
  78. data/lib/wordlist/operators/intersect.rb +55 -0
  79. data/lib/wordlist/operators/operator.rb +29 -0
  80. data/lib/wordlist/operators/power.rb +72 -0
  81. data/lib/wordlist/operators/product.rb +50 -0
  82. data/lib/wordlist/operators/subtract.rb +54 -0
  83. data/lib/wordlist/operators/unary_operator.rb +29 -0
  84. data/lib/wordlist/operators/union.rb +61 -0
  85. data/lib/wordlist/operators/unique.rb +52 -0
  86. data/lib/wordlist/operators.rb +7 -0
  87. data/lib/wordlist/unique_filter.rb +40 -61
  88. data/lib/wordlist/version.rb +1 -1
  89. data/lib/wordlist/words.rb +71 -0
  90. data/lib/wordlist.rb +103 -2
  91. data/spec/abstract_list_spec.rb +18 -0
  92. data/spec/builder_spec.rb +220 -76
  93. data/spec/cli_spec.rb +801 -0
  94. data/spec/compression/reader_spec.rb +137 -0
  95. data/spec/compression/writer_spec.rb +194 -0
  96. data/spec/file_spec.rb +258 -0
  97. data/spec/fixtures/wordlist.txt +15 -0
  98. data/spec/fixtures/wordlist.txt.bz2 +0 -0
  99. data/spec/fixtures/wordlist.txt.gz +0 -0
  100. data/spec/fixtures/wordlist.txt.xz +0 -0
  101. data/spec/fixtures/wordlist_with_ambiguous_format +3 -0
  102. data/spec/fixtures/wordlist_with_comments.txt +19 -0
  103. data/spec/fixtures/wordlist_with_empty_lines.txt +19 -0
  104. data/spec/format_spec.rb +50 -0
  105. data/spec/helpers/text.rb +3 -3
  106. data/spec/helpers/wordlist.rb +2 -2
  107. data/spec/lexer/lang_spec.rb +70 -0
  108. data/spec/lexer/stop_words_spec.rb +77 -0
  109. data/spec/lexer_spec.rb +652 -0
  110. data/spec/list_methods_spec.rb +181 -0
  111. data/spec/modifiers/capitalize_spec.rb +27 -0
  112. data/spec/modifiers/downcase_spec.rb +27 -0
  113. data/spec/modifiers/gsub_spec.rb +59 -0
  114. data/spec/modifiers/modifier_spec.rb +20 -0
  115. data/spec/modifiers/mutate_case_spec.rb +46 -0
  116. data/spec/modifiers/mutate_spec.rb +39 -0
  117. data/spec/modifiers/sub_spec.rb +98 -0
  118. data/spec/modifiers/tr_spec.rb +46 -0
  119. data/spec/modifiers/upcase_spec.rb +27 -0
  120. data/spec/operators/binary_operator_spec.rb +19 -0
  121. data/spec/operators/concat_spec.rb +26 -0
  122. data/spec/operators/intersect_spec.rb +37 -0
  123. data/spec/operators/operator_spec.rb +16 -0
  124. data/spec/operators/power_spec.rb +57 -0
  125. data/spec/operators/product_spec.rb +39 -0
  126. data/spec/operators/subtract_spec.rb +37 -0
  127. data/spec/operators/union_spec.rb +37 -0
  128. data/spec/operators/unique_spec.rb +25 -0
  129. data/spec/spec_helper.rb +2 -1
  130. data/spec/unique_filter_spec.rb +108 -18
  131. data/spec/wordlist_spec.rb +55 -3
  132. data/spec/words_spec.rb +41 -0
  133. metadata +183 -120
  134. data/lib/wordlist/builders/website.rb +0 -216
  135. data/lib/wordlist/builders.rb +0 -1
  136. data/lib/wordlist/flat_file.rb +0 -47
  137. data/lib/wordlist/list.rb +0 -162
  138. data/lib/wordlist/mutator.rb +0 -113
  139. data/lib/wordlist/parsers.rb +0 -74
  140. data/lib/wordlist/runners/list.rb +0 -116
  141. data/lib/wordlist/runners/runner.rb +0 -67
  142. data/lib/wordlist/runners.rb +0 -2
  143. data/scripts/benchmark +0 -59
  144. data/scripts/text/comedy_of_errors.txt +0 -4011
  145. data/spec/flat_file_spec.rb +0 -25
  146. data/spec/list_spec.rb +0 -58
  147. data/spec/mutator_spec.rb +0 -43
  148. data/spec/parsers_spec.rb +0 -118
@@ -0,0 +1,747 @@
1
+ aiemmin
2
+ aika
3
+ aikaa
4
+ aikaan
5
+ aikaisemmin
6
+ aikaisin
7
+ aikajen
8
+ aikana
9
+ aikoina
10
+ aikoo
11
+ aikovat
12
+ aina
13
+ ainakaan
14
+ ainakin
15
+ ainoa
16
+ ainoat
17
+ aiomme
18
+ aion
19
+ aiotte
20
+ aist
21
+ aivan
22
+ ajan
23
+ älä
24
+ alas
25
+ alemmas
26
+ älköön
27
+ alkuisin
28
+ alkuun
29
+ alla
30
+ alle
31
+ aloitamme
32
+ aloitan
33
+ aloitat
34
+ aloitatte
35
+ aloitattivat
36
+ aloitettava
37
+ aloitettevaksi
38
+ aloitettu
39
+ aloitimme
40
+ aloitin
41
+ aloitit
42
+ aloititte
43
+ aloittaa
44
+ aloittamatta
45
+ aloitti
46
+ aloittivat
47
+ alta
48
+ aluksi
49
+ alussa
50
+ alusta
51
+ annettavaksi
52
+ annetteva
53
+ annettu
54
+ antaa
55
+ antamatta
56
+ antoi
57
+ aoua
58
+ apu
59
+ asia
60
+ asiaa
61
+ asian
62
+ asiasta
63
+ asiat
64
+ asioiden
65
+ asioihin
66
+ asioita
67
+ asti
68
+ avuksi
69
+ avulla
70
+ avun
71
+ avutta
72
+ edellä
73
+ edelle
74
+ edelleen
75
+ edeltä
76
+ edemmäs
77
+ edes
78
+ edessä
79
+ edestä
80
+ ehkä
81
+ ei
82
+ eikä
83
+ eilen
84
+ eivät
85
+ eli
86
+ ellei
87
+ elleivät
88
+ ellemme
89
+ ellen
90
+ ellet
91
+ ellette
92
+ emme
93
+ en
94
+ enää
95
+ enemmän
96
+ eniten
97
+ ennen
98
+ ensi
99
+ ensimmäinen
100
+ ensimmäiseksi
101
+ ensimmäisen
102
+ ensimmäisenä
103
+ ensimmäiset
104
+ ensimmäisiä
105
+ ensimmäisiksi
106
+ ensimmäisinä
107
+ ensimmäistä
108
+ ensin
109
+ entinen
110
+ entisen
111
+ entisiä
112
+ entistä
113
+ entisten
114
+ eräät
115
+ eräiden
116
+ eräs
117
+ eri
118
+ erittäin
119
+ erityisesti
120
+ esi
121
+ esiin
122
+ esillä
123
+ esimerkiksi
124
+ et
125
+ eteen
126
+ etenkin
127
+ että
128
+ ette
129
+ ettei
130
+ halua
131
+ haluaa
132
+ haluamatta
133
+ haluamme
134
+ haluan
135
+ haluat
136
+ haluatte
137
+ haluavat
138
+ halunnut
139
+ halusi
140
+ halusimme
141
+ halusin
142
+ halusit
143
+ halusitte
144
+ halusivat
145
+ halutessa
146
+ haluton
147
+ hän
148
+ häneen
149
+ hänellä
150
+ hänelle
151
+ häneltä
152
+ hänen
153
+ hänessä
154
+ hänestä
155
+ hänet
156
+ he
157
+ hei
158
+ heidän
159
+ heihin
160
+ heille
161
+ heiltä
162
+ heissä
163
+ heistä
164
+ heitä
165
+ helposti
166
+ heti
167
+ hetkellä
168
+ hieman
169
+ huolimatta
170
+ huomenna
171
+ hyvä
172
+ hyvää
173
+ hyvät
174
+ hyviä
175
+ hyvien
176
+ hyviin
177
+ hyviksi
178
+ hyville
179
+ hyviltä
180
+ hyvin
181
+ hyvinä
182
+ hyvissä
183
+ hyvistä
184
+ ihan
185
+ ilman
186
+ ilmeisesti
187
+ itse
188
+ itseään
189
+ itsensä
190
+ ja
191
+ jää
192
+ jälkeen
193
+ jälleen
194
+ jo
195
+ johon
196
+ joiden
197
+ joihin
198
+ joiksi
199
+ joilla
200
+ joille
201
+ joilta
202
+ joissa
203
+ joista
204
+ joita
205
+ joka
206
+ jokainen
207
+ jokin
208
+ joko
209
+ joku
210
+ jolla
211
+ jolle
212
+ jolloin
213
+ jolta
214
+ jompikumpi
215
+ jonka
216
+ jonkin
217
+ jonne
218
+ joo
219
+ jopa
220
+ jos
221
+ joskus
222
+ jossa
223
+ josta
224
+ jota
225
+ jotain
226
+ joten
227
+ jotenkin
228
+ jotenkuten
229
+ jotka
230
+ jotta
231
+ jouduimme
232
+ jouduin
233
+ jouduit
234
+ jouduitte
235
+ joudumme
236
+ joudun
237
+ joudutte
238
+ joukkoon
239
+ joukossa
240
+ joukosta
241
+ joutua
242
+ joutui
243
+ joutuivat
244
+ joutumaan
245
+ joutuu
246
+ joutuvat
247
+ juuri
248
+ kahdeksan
249
+ kahdeksannen
250
+ kahdella
251
+ kahdelle
252
+ kahdelta
253
+ kahden
254
+ kahdessa
255
+ kahdesta
256
+ kahta
257
+ kahteen
258
+ kai
259
+ kaiken
260
+ kaikille
261
+ kaikilta
262
+ kaikkea
263
+ kaikki
264
+ kaikkia
265
+ kaikkiaan
266
+ kaikkialla
267
+ kaikkialle
268
+ kaikkialta
269
+ kaikkien
270
+ kaikkin
271
+ kaksi
272
+ kannalta
273
+ kannattaa
274
+ kanssa
275
+ kanssaan
276
+ kanssamme
277
+ kanssani
278
+ kanssanne
279
+ kanssasi
280
+ kauan
281
+ kauemmas
282
+ kautta
283
+ kehen
284
+ keiden
285
+ keihin
286
+ keiksi
287
+ keillä
288
+ keille
289
+ keiltä
290
+ keinä
291
+ keissä
292
+ keistä
293
+ keitä
294
+ keittä
295
+ keitten
296
+ keneen
297
+ keneksi
298
+ kenellä
299
+ kenelle
300
+ keneltä
301
+ kenen
302
+ kenenä
303
+ kenessä
304
+ kenestä
305
+ kenet
306
+ kenettä
307
+ kennessästä
308
+ kerran
309
+ kerta
310
+ kertaa
311
+ kesken
312
+ keskimäärin
313
+ ketä
314
+ ketkä
315
+ kiitos
316
+ kohti
317
+ koko
318
+ kokonaan
319
+ kolmas
320
+ kolme
321
+ kolmen
322
+ kolmesti
323
+ koska
324
+ koskaan
325
+ kovin
326
+ kuin
327
+ kuinka
328
+ kuitenkaan
329
+ kuitenkin
330
+ kuka
331
+ kukaan
332
+ kukin
333
+ kumpainen
334
+ kumpainenkaan
335
+ kumpi
336
+ kumpikaan
337
+ kumpikin
338
+ kun
339
+ kuten
340
+ kuuden
341
+ kuusi
342
+ kuutta
343
+ kyllä
344
+ kymmenen
345
+ kyse
346
+ lähekkäin
347
+ lähellä
348
+ lähelle
349
+ läheltä
350
+ lähemmäs
351
+ lähes
352
+ lähinnä
353
+ lähtien
354
+ läpi
355
+ liian
356
+ liki
357
+ lisää
358
+ lisäksi
359
+ luo
360
+ mahdollisimman
361
+ mahdollista
362
+ me
363
+ meidän
364
+ meillä
365
+ meille
366
+ melkein
367
+ melko
368
+ menee
369
+ meneet
370
+ menemme
371
+ menen
372
+ menet
373
+ menette
374
+ menevät
375
+ meni
376
+ menimme
377
+ menin
378
+ menit
379
+ menivät
380
+ mennessä
381
+ mennyt
382
+ menossa
383
+ mihin
384
+ mikä
385
+ mikään
386
+ mikäli
387
+ mikin
388
+ miksi
389
+ milloin
390
+ minä
391
+ minne
392
+ minun
393
+ minut
394
+ missä
395
+ mistä
396
+ mitä
397
+ mitään
398
+ miten
399
+ moi
400
+ molemmat
401
+ mones
402
+ monesti
403
+ monet
404
+ moni
405
+ moniaalla
406
+ moniaalle
407
+ moniaalta
408
+ monta
409
+ muassa
410
+ muiden
411
+ muita
412
+ muka
413
+ mukaan
414
+ mukaansa
415
+ mukana
416
+ mutta
417
+ muu
418
+ muualla
419
+ muualle
420
+ muualta
421
+ muuanne
422
+ muulloin
423
+ muun
424
+ muut
425
+ muuta
426
+ muutama
427
+ muutaman
428
+ muuten
429
+ myöhemmin
430
+ myös
431
+ myöskään
432
+ myöskin
433
+ myötä
434
+ näiden
435
+ näin
436
+ näissä
437
+ näissähin
438
+ näissälle
439
+ näissältä
440
+ näissästä
441
+ näitä
442
+ nämä
443
+ ne
444
+ neljä
445
+ neljää
446
+ neljän
447
+ niiden
448
+ niin
449
+ niistä
450
+ niitä
451
+ noin
452
+ nopeammin
453
+ nopeasti
454
+ nopeiten
455
+ nro
456
+ nuo
457
+ nyt
458
+ ohi
459
+ oikein
460
+ ole
461
+ olemme
462
+ olen
463
+ olet
464
+ olette
465
+ oleva
466
+ olevan
467
+ olevat
468
+ oli
469
+ olimme
470
+ olin
471
+ olisi
472
+ olisimme
473
+ olisin
474
+ olisit
475
+ olisitte
476
+ olisivat
477
+ olit
478
+ olitte
479
+ olivat
480
+ olla
481
+ olleet
482
+ olli
483
+ ollut
484
+ oma
485
+ omaa
486
+ omaan
487
+ omaksi
488
+ omalle
489
+ omalta
490
+ oman
491
+ omassa
492
+ omat
493
+ omia
494
+ omien
495
+ omiin
496
+ omiksi
497
+ omille
498
+ omilta
499
+ omissa
500
+ omista
501
+ on
502
+ onkin
503
+ onko
504
+ ovat
505
+ päälle
506
+ paikoittain
507
+ paitsi
508
+ pakosti
509
+ paljon
510
+ paremmin
511
+ parempi
512
+ parhaillaan
513
+ parhaiten
514
+ peräti
515
+ perusteella
516
+ pian
517
+ pieneen
518
+ pieneksi
519
+ pienellä
520
+ pienelle
521
+ pieneltä
522
+ pienempi
523
+ pienestä
524
+ pieni
525
+ pienin
526
+ puolesta
527
+ puolestaan
528
+ runsaasti
529
+ saakka
530
+ sadam
531
+ sama
532
+ samaa
533
+ samaan
534
+ samalla
535
+ samallalta
536
+ samallassa
537
+ samallasta
538
+ saman
539
+ samat
540
+ samoin
541
+ sata
542
+ sataa
543
+ satojen
544
+ se
545
+ seitsemän
546
+ sekä
547
+ sen
548
+ seuraavat
549
+ siellä
550
+ sieltä
551
+ siihen
552
+ siinä
553
+ siis
554
+ siitä
555
+ sijaan
556
+ siksi
557
+ sillä
558
+ silloin
559
+ silti
560
+ sinä
561
+ sinne
562
+ sinua
563
+ sinulle
564
+ sinulta
565
+ sinun
566
+ sinussa
567
+ sinusta
568
+ sinut
569
+ sisäkkäin
570
+ sisällä
571
+ sitä
572
+ siten
573
+ sitten
574
+ suoraan
575
+ suuntaan
576
+ suuren
577
+ suuret
578
+ suuri
579
+ suuria
580
+ suurin
581
+ suurten
582
+ taa
583
+ täällä
584
+ täältä
585
+ taas
586
+ taemmas
587
+ tähän
588
+ tahansa
589
+ tai
590
+ takaa
591
+ takaisin
592
+ takana
593
+ takia
594
+ tällä
595
+ tällöin
596
+ tämä
597
+ tämän
598
+ tänä
599
+ tänään
600
+ tänne
601
+ tapauksessa
602
+ tässä
603
+ tästä
604
+ tätä
605
+ täten
606
+ tavalla
607
+ tavoitteena
608
+ täysin
609
+ täytyvät
610
+ täytyy
611
+ te
612
+ tietysti
613
+ todella
614
+ toinen
615
+ toisaalla
616
+ toisaalle
617
+ toisaalta
618
+ toiseen
619
+ toiseksi
620
+ toisella
621
+ toiselle
622
+ toiselta
623
+ toisemme
624
+ toisen
625
+ toisensa
626
+ toisessa
627
+ toisesta
628
+ toista
629
+ toistaiseksi
630
+ toki
631
+ tosin
632
+ tuhannen
633
+ tuhat
634
+ tule
635
+ tulee
636
+ tulemme
637
+ tulen
638
+ tulet
639
+ tulette
640
+ tulevat
641
+ tulimme
642
+ tulin
643
+ tulisi
644
+ tulisimme
645
+ tulisin
646
+ tulisit
647
+ tulisitte
648
+ tulisivat
649
+ tulit
650
+ tulitte
651
+ tulivat
652
+ tulla
653
+ tulleet
654
+ tullut
655
+ tuntuu
656
+ tuo
657
+ tuolla
658
+ tuolloin
659
+ tuolta
660
+ tuonne
661
+ tuskin
662
+ tykö
663
+ usea
664
+ useasti
665
+ useimmiten
666
+ usein
667
+ useita
668
+ uudeksi
669
+ uudelleen
670
+ uuden
671
+ uudet
672
+ uusi
673
+ uusia
674
+ uusien
675
+ uusinta
676
+ uuteen
677
+ uutta
678
+ vaan
679
+ vähän
680
+ vähemmän
681
+ vähintään
682
+ vähiten
683
+ vai
684
+ vaiheessa
685
+ vaikea
686
+ vaikean
687
+ vaikeat
688
+ vaikeilla
689
+ vaikeille
690
+ vaikeilta
691
+ vaikeissa
692
+ vaikeista
693
+ vaikka
694
+ vain
695
+ välillä
696
+ varmasti
697
+ varsin
698
+ varsinkin
699
+ varten
700
+ vasta
701
+ vastaan
702
+ vastakkain
703
+ verran
704
+ vielä
705
+ vierekkäin
706
+ vieri
707
+ viiden
708
+ viime
709
+ viimeinen
710
+ viimeisen
711
+ viimeksi
712
+ viisi
713
+ voi
714
+ voidaan
715
+ voimme
716
+ voin
717
+ voisi
718
+ voit
719
+ voitte
720
+ voivat
721
+ vuoden
722
+ vuoksi
723
+ vuosi
724
+ vuosien
725
+ vuosina
726
+ vuotta
727
+ yhä
728
+ yhdeksän
729
+ yhden
730
+ yhdessä
731
+ yhtä
732
+ yhtäällä
733
+ yhtäälle
734
+ yhtäältä
735
+ yhtään
736
+ yhteen
737
+ yhteensä
738
+ yhteydessä
739
+ yhteyteen
740
+ yksi
741
+ yksin
742
+ yksittäin
743
+ yleensä
744
+ ylemmäs
745
+ yli
746
+ ylös
747
+ ympäri