spox-mod_spox 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. data/CHANGELOG +5 -0
  2. data/README.rdoc +61 -1
  3. data/bin/mod_spox +1 -7
  4. data/data/mod_spox/extras/AutoKick.rb +3 -2
  5. data/data/mod_spox/extras/AutoMode.rb +2 -1
  6. data/data/mod_spox/extras/AutoRejoin.rb +5 -4
  7. data/data/mod_spox/extras/Bouncer.rb +243 -131
  8. data/data/mod_spox/extras/FloodKicker.rb +2 -1
  9. data/data/mod_spox/extras/Fortune.rb +5 -1
  10. data/data/mod_spox/extras/Karma.rb +2 -1
  11. data/data/mod_spox/extras/Logger.rb +11 -9
  12. data/data/mod_spox/extras/NickServ.rb +2 -1
  13. data/data/mod_spox/extras/PhpCli.rb +1 -1
  14. data/data/mod_spox/extras/PhpFuncLookup.rb +2 -1
  15. data/data/mod_spox/extras/RegexTracker.rb +2 -1
  16. data/data/mod_spox/extras/Roulette.rb +2 -1
  17. data/data/mod_spox/extras/Seen.rb +10 -8
  18. data/data/mod_spox/extras/Topten.rb +2 -1
  19. data/data/mod_spox/extras/Translate.rb +2 -1
  20. data/data/mod_spox/extras/Twitter.rb +1 -1
  21. data/data/mod_spox/plugins/Authenticator.rb +7 -7
  22. data/data/mod_spox/plugins/Banner.rb +6 -6
  23. data/data/mod_spox/plugins/BotNick.rb +2 -1
  24. data/data/mod_spox/plugins/Initializer.rb +4 -4
  25. data/data/mod_spox/plugins/Joiner.rb +1 -1
  26. data/data/mod_spox/plugins/PluginLoader.rb +1 -1
  27. data/data/mod_spox/plugins/Ponger.rb +8 -8
  28. data/data/mod_spox/plugins/Status.rb +1 -1
  29. data/lib/mod_spox/Bot.rb +27 -27
  30. data/lib/mod_spox/BotConfig.rb +17 -21
  31. data/lib/mod_spox/Filter.rb +29 -0
  32. data/lib/mod_spox/FilterManager.rb +63 -0
  33. data/lib/mod_spox/Helpers.rb +120 -14
  34. data/lib/mod_spox/Loader.rb +1 -1
  35. data/lib/mod_spox/MessageFactory.rb +10 -2
  36. data/lib/mod_spox/Pipeline.rb +66 -61
  37. data/lib/mod_spox/PluginManager.rb +5 -5
  38. data/lib/mod_spox/PriorityQueue.rb +21 -8
  39. data/lib/mod_spox/Sockets.rb +6 -6
  40. data/lib/mod_spox/Timer.rb +3 -3
  41. data/lib/mod_spox/Version.rb +2 -2
  42. data/lib/mod_spox/handlers/UserHost.rb +32 -0
  43. data/lib/mod_spox/handlers/Whois.rb +7 -7
  44. data/lib/mod_spox/messages/incoming/Pong.rb +11 -2
  45. data/lib/mod_spox/messages/incoming/UserHost.rb +24 -0
  46. data/lib/mod_spox/messages/internal/FilterAdd.rb +20 -0
  47. data/lib/mod_spox/messages/internal/FilterList.rb +18 -0
  48. data/lib/mod_spox/messages/internal/FilterListing.rb +22 -0
  49. data/lib/mod_spox/messages/internal/FilterRemove.rb +20 -0
  50. data/lib/mod_spox/messages/internal/Incoming.rb +15 -0
  51. data/lib/mod_spox/migrations/006_ignore.rb +21 -0
  52. data/lib/mod_spox/models/Nick.rb +11 -0
  53. data/lib/mod_spox/rfc2812.rb +2 -1
  54. data/lib/mod_spox/rfc2812_full.rb +185 -0
  55. data/tests/BotHolder.rb +7 -1
  56. data/tests/handlers/tc_Created.rb +28 -8
  57. data/tests/handlers/tc_Invite.rb +11 -9
  58. data/tests/handlers/tc_Join.rb +36 -16
  59. data/tests/handlers/tc_Kick.rb +27 -6
  60. data/tests/handlers/tc_Mode.rb +23 -13
  61. data/tests/handlers/tc_Names.rb +29 -9
  62. data/tests/handlers/tc_Nick.rb +30 -8
  63. data/tests/handlers/tc_Part.rb +30 -20
  64. data/tests/handlers/tc_Ping.rb +32 -19
  65. data/tests/handlers/tc_Pong.rb +28 -8
  66. data/tests/handlers/tc_Privmsg.rb +33 -13
  67. data/tests/handlers/tc_Quit.rb +30 -17
  68. data/tests/handlers/tc_Who.rb +8 -3
  69. data/tests/handlers/tc_Whois.rb +7 -3
  70. data/tests/lib/tc_BotConfig.rb +35 -0
  71. data/tests/lib/tc_Helpers.rb +139 -0
  72. data/tests/lib/tc_PriorityQueue.rb +31 -0
  73. metadata +17 -2
@@ -0,0 +1,31 @@
1
+ require "#{File.dirname(__FILE__)}/../BotHolder.rb"
2
+
3
+ class TestBotConfig < Test::Unit::TestCase
4
+
5
+ def setup
6
+ h = BotHolder.instance
7
+ @queue = ModSpox::PriorityQueue.new
8
+ end
9
+
10
+ def test_basic
11
+ @queue.direct_queue('test1')
12
+ assert_equal('test1', @queue.pop)
13
+ @queue.priority_queue('slot1', 'test2')
14
+ assert_equal('test2', @queue.pop)
15
+ end
16
+
17
+ def test_prioritizer
18
+ # load the queue up
19
+ @queue.priority_queue('*slot0', 'last')
20
+ 5.times{ @queue.priority_queue('slot1', "test") }
21
+ 5.times{ @queue.priority_queue('slot2', "fubar") }
22
+ @queue.direct_queue('first')
23
+ assert_equal('first', @queue.pop)
24
+ 5.times do
25
+ assert_equal('test', @queue.pop)
26
+ assert_equal('fubar', @queue.pop)
27
+ end
28
+ assert_equal('last', @queue.pop)
29
+ end
30
+
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spox-mod_spox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - spox
@@ -129,6 +129,8 @@ files:
129
129
  - lib/mod_spox/ConfigurationWizard.rb
130
130
  - lib/mod_spox/Database.rb
131
131
  - lib/mod_spox/Exceptions.rb
132
+ - lib/mod_spox/Filter.rb
133
+ - lib/mod_spox/FilterManager.rb
132
134
  - lib/mod_spox/Helpers.rb
133
135
  - lib/mod_spox/Loader.rb
134
136
  - lib/mod_spox/Logger.rb
@@ -167,6 +169,7 @@ files:
167
169
  - lib/mod_spox/handlers/Privmsg.rb
168
170
  - lib/mod_spox/handlers/Quit.rb
169
171
  - lib/mod_spox/handlers/Topic.rb
172
+ - lib/mod_spox/handlers/UserHost.rb
170
173
  - lib/mod_spox/handlers/Welcome.rb
171
174
  - lib/mod_spox/handlers/Who.rb
172
175
  - lib/mod_spox/handlers/Whois.rb
@@ -198,6 +201,7 @@ files:
198
201
  - lib/mod_spox/messages/incoming/Quit.rb
199
202
  - lib/mod_spox/messages/incoming/Topic.rb
200
203
  - lib/mod_spox/messages/incoming/TopicInfo.rb
204
+ - lib/mod_spox/messages/incoming/UserHost.rb
201
205
  - lib/mod_spox/messages/incoming/Welcome.rb
202
206
  - lib/mod_spox/messages/incoming/Who.rb
203
207
  - lib/mod_spox/messages/incoming/Whois.rb
@@ -212,7 +216,12 @@ files:
212
216
  - lib/mod_spox/messages/internal/Disconnected.rb
213
217
  - lib/mod_spox/messages/internal/Disconnecting.rb
214
218
  - lib/mod_spox/messages/internal/EstablishConnection.rb
219
+ - lib/mod_spox/messages/internal/FilterAdd.rb
220
+ - lib/mod_spox/messages/internal/FilterList.rb
221
+ - lib/mod_spox/messages/internal/FilterListing.rb
222
+ - lib/mod_spox/messages/internal/FilterRemove.rb
215
223
  - lib/mod_spox/messages/internal/HaltBot.rb
224
+ - lib/mod_spox/messages/internal/Incoming.rb
216
225
  - lib/mod_spox/messages/internal/NickRequest.rb
217
226
  - lib/mod_spox/messages/internal/NickResponse.rb
218
227
  - lib/mod_spox/messages/internal/PluginLoadRequest.rb
@@ -290,6 +299,7 @@ files:
290
299
  - lib/mod_spox/migrations/003_auth_restructure.rb
291
300
  - lib/mod_spox/migrations/004_mode_index_fix.rb
292
301
  - lib/mod_spox/migrations/005_nick_mode_nopark.rb
302
+ - lib/mod_spox/migrations/006_ignore.rb
293
303
  - lib/mod_spox/models/Auth.rb
294
304
  - lib/mod_spox/models/AuthMask.rb
295
305
  - lib/mod_spox/models/Channel.rb
@@ -303,6 +313,7 @@ files:
303
313
  - lib/mod_spox/models/Signature.rb
304
314
  - lib/mod_spox/models/Trigger.rb
305
315
  - lib/mod_spox/rfc2812.rb
316
+ - lib/mod_spox/rfc2812_full.rb
306
317
  - populate_gemspec.rb
307
318
  - tests/BotHolder.rb
308
319
  - tests/handlers/tc_BadNick.rb
@@ -320,6 +331,9 @@ files:
320
331
  - tests/handlers/tc_Quit.rb
321
332
  - tests/handlers/tc_Who.rb
322
333
  - tests/handlers/tc_Whois.rb
334
+ - tests/lib/tc_BotConfig.rb
335
+ - tests/lib/tc_Helpers.rb
336
+ - tests/lib/tc_PriorityQueue.rb
323
337
  - tests/models/tc_Auth.rb
324
338
  - tests/models/tc_Channel.rb
325
339
  - tests/models/tc_Config.rb
@@ -330,6 +344,7 @@ files:
330
344
  - tests/run_tests.rb
331
345
  has_rdoc: true
332
346
  homepage: http://dev.modspox.com
347
+ licenses:
333
348
  post_install_message:
334
349
  rdoc_options:
335
350
  - --title
@@ -354,7 +369,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
354
369
  requirements: []
355
370
 
356
371
  rubyforge_project: modspox
357
- rubygems_version: 1.2.0
372
+ rubygems_version: 1.3.5
358
373
  signing_key:
359
374
  specification_version: 2
360
375
  summary: mod_spox IRC bot