spox-mod_spox 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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