wordlist 0.1.1 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ruby.yml +28 -0
  3. data/.gitignore +6 -3
  4. data/ChangeLog.md +55 -1
  5. data/Gemfile +15 -0
  6. data/LICENSE.txt +1 -3
  7. data/README.md +301 -60
  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 +13 -12
  54. data/lib/wordlist/abstract_wordlist.rb +25 -0
  55. data/lib/wordlist/builder.rb +172 -138
  56. data/lib/wordlist/cli.rb +459 -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 +177 -0
  61. data/lib/wordlist/format.rb +39 -0
  62. data/lib/wordlist/lexer/lang.rb +34 -0
  63. data/lib/wordlist/lexer/stop_words.rb +69 -0
  64. data/lib/wordlist/lexer.rb +221 -0
  65. data/lib/wordlist/list_methods.rb +462 -0
  66. data/lib/wordlist/modifiers/capitalize.rb +46 -0
  67. data/lib/wordlist/modifiers/downcase.rb +46 -0
  68. data/lib/wordlist/modifiers/gsub.rb +52 -0
  69. data/lib/wordlist/modifiers/modifier.rb +44 -0
  70. data/lib/wordlist/modifiers/mutate.rb +134 -0
  71. data/lib/wordlist/modifiers/mutate_case.rb +26 -0
  72. data/lib/wordlist/modifiers/sub.rb +98 -0
  73. data/lib/wordlist/modifiers/tr.rb +72 -0
  74. data/lib/wordlist/modifiers/upcase.rb +46 -0
  75. data/lib/wordlist/modifiers.rb +9 -0
  76. data/lib/wordlist/operators/binary_operator.rb +39 -0
  77. data/lib/wordlist/operators/concat.rb +48 -0
  78. data/lib/wordlist/operators/intersect.rb +56 -0
  79. data/lib/wordlist/operators/operator.rb +29 -0
  80. data/lib/wordlist/operators/power.rb +73 -0
  81. data/lib/wordlist/operators/product.rb +51 -0
  82. data/lib/wordlist/operators/subtract.rb +55 -0
  83. data/lib/wordlist/operators/unary_operator.rb +30 -0
  84. data/lib/wordlist/operators/union.rb +62 -0
  85. data/lib/wordlist/operators/unique.rb +53 -0
  86. data/lib/wordlist/operators.rb +8 -0
  87. data/lib/wordlist/unique_filter.rb +41 -61
  88. data/lib/wordlist/version.rb +4 -2
  89. data/lib/wordlist/words.rb +72 -0
  90. data/lib/wordlist.rb +104 -2
  91. data/spec/abstract_list_spec.rb +18 -0
  92. data/spec/builder_spec.rb +220 -76
  93. data/spec/cli_spec.rb +802 -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 +269 -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 +718 -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/unary_operator_spec.rb +14 -0
  128. data/spec/operators/union_spec.rb +37 -0
  129. data/spec/operators/unique_spec.rb +25 -0
  130. data/spec/spec_helper.rb +2 -1
  131. data/spec/unique_filter_spec.rb +108 -18
  132. data/spec/wordlist_spec.rb +55 -3
  133. data/spec/words_spec.rb +41 -0
  134. data/wordlist.gemspec +1 -0
  135. metadata +164 -126
  136. data/lib/wordlist/builders/website.rb +0 -216
  137. data/lib/wordlist/builders.rb +0 -1
  138. data/lib/wordlist/flat_file.rb +0 -47
  139. data/lib/wordlist/list.rb +0 -162
  140. data/lib/wordlist/mutator.rb +0 -113
  141. data/lib/wordlist/parsers.rb +0 -74
  142. data/lib/wordlist/runners/list.rb +0 -116
  143. data/lib/wordlist/runners/runner.rb +0 -67
  144. data/lib/wordlist/runners.rb +0 -2
  145. data/scripts/benchmark +0 -59
  146. data/scripts/text/comedy_of_errors.txt +0 -4011
  147. data/spec/classes/parser_class.rb +0 -7
  148. data/spec/classes/test_list.rb +0 -9
  149. data/spec/flat_file_spec.rb +0 -25
  150. data/spec/list_spec.rb +0 -58
  151. data/spec/mutator_spec.rb +0 -43
  152. data/spec/parsers_spec.rb +0 -118
data/bin/wordlist CHANGED
@@ -1,10 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- lib_dir = File.expand_path(File.join(File.dirname(__FILE__),'..','lib'))
4
- unless $LOAD_PATH.include?(lib_dir)
5
- $LOAD_PATH << lib_dir
6
- end
3
+ lib_dir = File.expand_path(File.join(__dir__,'..','lib'))
4
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
7
5
 
8
- require 'wordlist/runners/list'
9
-
10
- Wordlist::Runners::List.run(*ARGV)
6
+ require 'wordlist/cli'
7
+ exit Wordlist::CLI.run(ARGV)
@@ -0,0 +1,104 @@
1
+ فى
2
+ في
3
+ كل
4
+ لم
5
+ لن
6
+ له
7
+ من
8
+ هو
9
+ هي
10
+ قوة
11
+ كما
12
+ لها
13
+ منذ
14
+ وقد
15
+ ولا
16
+ لقاء
17
+ مقابل
18
+ هناك
19
+ وقال
20
+ وكان
21
+ وقالت
22
+ وكانت
23
+ فيه
24
+ لكن
25
+ وفي
26
+ ولم
27
+ ومن
28
+ وهو
29
+ وهي
30
+ يوم
31
+ فيها
32
+ منها
33
+ يكون
34
+ يمكن
35
+ حيث
36
+ االا
37
+ اما
38
+ االتى
39
+ التي
40
+ اكثر
41
+ ايضا
42
+ الذى
43
+ الذي
44
+ الان
45
+ الذين
46
+ ابين
47
+ ذلك
48
+ دون
49
+ حول
50
+ حين
51
+ الى
52
+ انه
53
+ اول
54
+ انها
55
+ ف
56
+ و
57
+ و6
58
+ قد
59
+ لا
60
+ ما
61
+ مع
62
+ هذا
63
+ واحد
64
+ واضاف
65
+ واضافت
66
+ فان
67
+ قبل
68
+ قال
69
+ كان
70
+ لدى
71
+ نحو
72
+ هذه
73
+ وان
74
+ واكد
75
+ كانت
76
+ واوضح
77
+ ب
78
+ ا
79
+ أ
80
+ ،
81
+ عن
82
+ عند
83
+ عندما
84
+ على
85
+ عليه
86
+ عليها
87
+ تم
88
+ ضد
89
+ بعد
90
+ بعض
91
+ حتى
92
+ اذا
93
+ احد
94
+ بان
95
+ اجل
96
+ غير
97
+ بن
98
+ به
99
+ ثم
100
+ اف
101
+ ان
102
+ او
103
+ اي
104
+ بها
@@ -0,0 +1,259 @@
1
+ а
2
+ автентичен
3
+ аз
4
+ ако
5
+ ала
6
+ бе
7
+ без
8
+ беше
9
+ би
10
+ бивш
11
+ бивша
12
+ бившо
13
+ бил
14
+ била
15
+ били
16
+ било
17
+ благодаря
18
+ близо
19
+ бъдат
20
+ бъде
21
+ бяха
22
+ в
23
+ вас
24
+ ваш
25
+ ваша
26
+ вероятно
27
+ вече
28
+ взема
29
+ ви
30
+ вие
31
+ винаги
32
+ внимава
33
+ време
34
+ все
35
+ всеки
36
+ всички
37
+ всичко
38
+ всяка
39
+ във
40
+ въпреки
41
+ върху
42
+ г
43
+ ги
44
+ главен
45
+ главна
46
+ главно
47
+ глас
48
+ го
49
+ година
50
+ години
51
+ годишен
52
+ д
53
+ да
54
+ дали
55
+ два
56
+ двама
57
+ двамата
58
+ две
59
+ двете
60
+ ден
61
+ днес
62
+ дни
63
+ до
64
+ добра
65
+ добре
66
+ добро
67
+ добър
68
+ докато
69
+ докога
70
+ дори
71
+ досега
72
+ доста
73
+ друг
74
+ друга
75
+ други
76
+ е
77
+ евтин
78
+ едва
79
+ един
80
+ една
81
+ еднаква
82
+ еднакви
83
+ еднакъв
84
+ едно
85
+ екип
86
+ ето
87
+ живот
88
+ за
89
+ забавям
90
+ зад
91
+ заедно
92
+ заради
93
+ засега
94
+ заспал
95
+ затова
96
+ защо
97
+ защото
98
+ и
99
+ из
100
+ или
101
+ им
102
+ има
103
+ имат
104
+ иска
105
+ й
106
+ каза
107
+ как
108
+ каква
109
+ какво
110
+ както
111
+ какъв
112
+ като
113
+ кога
114
+ когато
115
+ което
116
+ които
117
+ кой
118
+ който
119
+ колко
120
+ която
121
+ къде
122
+ където
123
+ към
124
+ лесен
125
+ лесно
126
+ ли
127
+ лош
128
+ м
129
+ май
130
+ малко
131
+ ме
132
+ между
133
+ мек
134
+ мен
135
+ месец
136
+ ми
137
+ много
138
+ мнозина
139
+ мога
140
+ могат
141
+ може
142
+ мокър
143
+ моля
144
+ момента
145
+ му
146
+ н
147
+ на
148
+ над
149
+ назад
150
+ най
151
+ направи
152
+ напред
153
+ например
154
+ нас
155
+ не
156
+ него
157
+ нещо
158
+ нея
159
+ ни
160
+ ние
161
+ никой
162
+ нито
163
+ нищо
164
+ но
165
+ нов
166
+ нова
167
+ нови
168
+ новина
169
+ някои
170
+ някой
171
+ няколко
172
+ няма
173
+ обаче
174
+ около
175
+ освен
176
+ особено
177
+ от
178
+ отгоре
179
+ отново
180
+ още
181
+ пак
182
+ по
183
+ повече
184
+ повечето
185
+ под
186
+ поне
187
+ поради
188
+ после
189
+ почти
190
+ прави
191
+ пред
192
+ преди
193
+ през
194
+ при
195
+ пък
196
+ първата
197
+ първи
198
+ първо
199
+ пъти
200
+ равен
201
+ равна
202
+ с
203
+ са
204
+ сам
205
+ само
206
+ се
207
+ сега
208
+ си
209
+ син
210
+ скоро
211
+ след
212
+ следващ
213
+ сме
214
+ смях
215
+ според
216
+ сред
217
+ срещу
218
+ сте
219
+ съм
220
+ със
221
+ също
222
+ т
223
+ тази
224
+ така
225
+ такива
226
+ такъв
227
+ там
228
+ твой
229
+ те
230
+ тези
231
+ ти
232
+ т.н.
233
+ то
234
+ това
235
+ тогава
236
+ този
237
+ той
238
+ толкова
239
+ точно
240
+ три
241
+ трябва
242
+ тук
243
+ тъй
244
+ тя
245
+ тях
246
+ у
247
+ утре
248
+ харесва
249
+ хиляди
250
+ ч
251
+ часа
252
+ че
253
+ често
254
+ чрез
255
+ ще
256
+ щом
257
+ юмрук
258
+ я
259
+ як
@@ -0,0 +1,363 @@
1
+ অবশ্য
2
+ অনেক
3
+ অনেকে
4
+ অনেকেই
5
+ অন্তত
6
+ অথবা
7
+ অথচ
8
+ অর্থাত
9
+ অন্য
10
+ আজ
11
+ আছে
12
+ আপনার
13
+ আপনি
14
+ আবার
15
+ আমরা
16
+ আমাকে
17
+ আমাদের
18
+ আমার
19
+ আমি
20
+ আরও
21
+ আর
22
+ আগে
23
+ আগেই
24
+ আই
25
+ অতএব
26
+ আগামী
27
+ অবধি
28
+ অনুযায়ী
29
+ আদ্যভাগে
30
+ এই
31
+ একই
32
+ একে
33
+ একটি
34
+ এখন
35
+ এখনও
36
+ এখানে
37
+ এখানেই
38
+ এটি
39
+ এটা
40
+ এটাই
41
+ এতটাই
42
+ এবং
43
+ একবার
44
+ এবার
45
+ এদের
46
+ এঁদের
47
+ এমন
48
+ এমনকী
49
+ এল
50
+ এর
51
+ এরা
52
+ এঁরা
53
+ এস
54
+ এত
55
+ এতে
56
+ এসে
57
+ একে
58
+
59
+
60
+
61
+ ইহা
62
+ ইত্যাদি
63
+ উনি
64
+ উপর
65
+ উপরে
66
+ উচিত
67
+
68
+ ওই
69
+ ওর
70
+ ওরা
71
+ ওঁর
72
+ ওঁরা
73
+ ওকে
74
+ ওদের
75
+ ওঁদের
76
+ ওখানে
77
+ কত
78
+ কবে
79
+ করতে
80
+ কয়েক
81
+ কয়েকটি
82
+ করবে
83
+ করলেন
84
+ করার
85
+ কারও
86
+ করা
87
+ করি
88
+ করিয়ে
89
+ করার
90
+ করাই
91
+ করলে
92
+ করলেন
93
+ করিতে
94
+ করিয়া
95
+ করেছিলেন
96
+ করছে
97
+ করছেন
98
+ করেছেন
99
+ করেছে
100
+ করেন
101
+ করবেন
102
+ করায়
103
+ করে
104
+ করেই
105
+ কাছ
106
+ কাছে
107
+ কাজে
108
+ কারণ
109
+ কিছু
110
+ কিছুই
111
+ কিন্তু
112
+ কিংবা
113
+ কি
114
+ কী
115
+ কেউ
116
+ কেউই
117
+ কাউকে
118
+ কেন
119
+ কে
120
+ কোনও
121
+ কোনো
122
+ কোন
123
+ কখনও
124
+ ক্ষেত্রে
125
+ খুব
126
+ গুলি
127
+ গিয়ে
128
+ গিয়েছে
129
+ গেছে
130
+ গেল
131
+ গেলে
132
+ গোটা
133
+ চলে
134
+ ছাড়া
135
+ ছাড়াও
136
+ ছিলেন
137
+ ছিল
138
+ জন্য
139
+ জানা
140
+ ঠিক
141
+ তিনি
142
+ তিনঐ
143
+ তিনিও
144
+ তখন
145
+ তবে
146
+ তবু
147
+ তাঁদের
148
+ তাঁাহারা
149
+ তাঁরা
150
+ তাঁর
151
+ তাঁকে
152
+ তাই
153
+ তেমন
154
+ তাকে
155
+ তাহা
156
+ তাহাতে
157
+ তাহার
158
+ তাদের
159
+ তারপর
160
+ তারা
161
+ তারৈ
162
+ তার
163
+ তাহলে
164
+ তিনি
165
+ তা
166
+ তাও
167
+ তাতে
168
+ তো
169
+ তত
170
+ তুমি
171
+ তোমার
172
+ তথা
173
+ থাকে
174
+ থাকা
175
+ থাকায়
176
+ থেকে
177
+ থেকেও
178
+ থাকবে
179
+ থাকেন
180
+ থাকবেন
181
+ থেকেই
182
+ দিকে
183
+ দিতে
184
+ দিয়ে
185
+ দিয়েছে
186
+ দিয়েছেন
187
+ দিলেন
188
+ দু
189
+ দুটি
190
+ দুটো
191
+ দেয়
192
+ দেওয়া
193
+ দেওয়ার
194
+ দেখা
195
+ দেখে
196
+ দেখতে
197
+ দ্বারা
198
+ ধরে
199
+ ধরা
200
+ নয়
201
+ নানা
202
+ না
203
+ নাকি
204
+ নাগাদ
205
+ নিতে
206
+ নিজে
207
+ নিজেই
208
+ নিজের
209
+ নিজেদের
210
+ নিয়ে
211
+ নেওয়া
212
+ নেওয়ার
213
+ নেই
214
+ নাই
215
+ পক্ষে
216
+ পর্যন্ত
217
+ পাওয়া
218
+ পারেন
219
+ পারি
220
+ পারে
221
+ পরে
222
+ পরেই
223
+ পরেও
224
+ পর
225
+ পেয়ে
226
+ প্রতি
227
+ প্রভৃতি
228
+ প্রায়
229
+ ফের
230
+ ফলে
231
+ ফিরে
232
+ ব্যবহার
233
+ বলতে
234
+ বললেন
235
+ বলেছেন
236
+ বলল
237
+ বলা
238
+ বলেন
239
+ বলে
240
+ বহু
241
+ বসে
242
+ বার
243
+ বা
244
+ বিনা
245
+ বরং
246
+ বদলে
247
+ বাদে
248
+ বার
249
+ বিশেষ
250
+ বিভিন্ন
251
+ বিষয়টি
252
+ ব্যবহার
253
+ ব্যাপারে
254
+ ভাবে
255
+ ভাবেই
256
+ মধ্যে
257
+ মধ্যেই
258
+ মধ্যেও
259
+ মধ্যভাগে
260
+ মাধ্যমে
261
+ মাত্র
262
+ মতো
263
+ মতোই
264
+ মোটেই
265
+ যখন
266
+ যদি
267
+ যদিও
268
+ যাবে
269
+ যায়
270
+ যাকে
271
+ যাওয়া
272
+ যাওয়ার
273
+ যত
274
+ যতটা
275
+ যা
276
+ যার
277
+ যারা
278
+ যাঁর
279
+ যাঁরা
280
+ যাদের
281
+ যান
282
+ যাচ্ছে
283
+ যেতে
284
+ যাতে
285
+ যেন
286
+ যেমন
287
+ যেখানে
288
+ যিনি
289
+ যে
290
+ রেখে
291
+ রাখা
292
+ রয়েছে
293
+ রকম
294
+ শুধু
295
+ সঙ্গে
296
+ সঙ্গেও
297
+ সমস্ত
298
+ সব
299
+ সবার
300
+ সহ
301
+ সুতরাং
302
+ সহিত
303
+ সেই
304
+ সেটা
305
+ সেটি
306
+ সেটাই
307
+ সেটাও
308
+ সম্প্রতি
309
+ সেখান
310
+ সেখানে
311
+ সে
312
+ স্পষ্ট
313
+ স্বয়ং
314
+ হইতে
315
+ হইবে
316
+ হৈলে
317
+ হইয়া
318
+ হচ্ছে
319
+ হত
320
+ হতে
321
+ হতেই
322
+ হবে
323
+ হবেন
324
+ হয়েছিল
325
+ হয়েছে
326
+ হয়েছেন
327
+ হয়ে
328
+ হয়নি
329
+ হয়
330
+ হয়েই
331
+ হয়তো
332
+ হল
333
+ হলে
334
+ হলেই
335
+ হলেও
336
+ হলো
337
+ হিসাবে
338
+ হওয়া
339
+ হওয়ার
340
+ হওয়ায়
341
+ হন
342
+ হোক
343
+ জন
344
+ জনকে
345
+ জনের
346
+ জানতে
347
+ জানায়
348
+ জানিয়ে
349
+ জানানো
350
+ জানিয়েছে
351
+ জন্য
352
+ জন্যওজে
353
+ জে
354
+ বেশ
355
+ দেন
356
+ তুলে
357
+ ছিলেন
358
+ চান
359
+ চায়
360
+ চেয়ে
361
+ মোট
362
+ যথেষ্ট
363
+ টি