failirc 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/bin/failbot +162 -0
  2. data/bin/failircd +61 -0
  3. data/lib/failirc.rb +25 -0
  4. data/lib/failirc/client.rb +227 -0
  5. data/lib/failirc/client/channel.rb +98 -0
  6. data/lib/failirc/client/channels.rb +85 -0
  7. data/lib/failirc/client/client.rb +59 -0
  8. data/lib/failirc/client/clients.rb +43 -0
  9. data/lib/failirc/client/dispatcher.rb +209 -0
  10. data/lib/failirc/client/dispatcher/connectiondispatcher.rb +410 -0
  11. data/lib/failirc/client/dispatcher/event.rb +113 -0
  12. data/lib/failirc/client/dispatcher/eventdispatcher.rb +203 -0
  13. data/lib/failirc/client/module.rb +103 -0
  14. data/lib/failirc/client/modules/Base.rb +361 -0
  15. data/lib/failirc/client/modules/Logger.rb +89 -0
  16. data/lib/failirc/client/server.rb +89 -0
  17. data/lib/failirc/client/user.rb +66 -0
  18. data/lib/failirc/client/users.rb +100 -0
  19. data/lib/failirc/errors.rb +339 -0
  20. data/lib/failirc/extensions.rb +124 -0
  21. data/lib/failirc/mask.rb +117 -0
  22. data/lib/failirc/modes.rb +54 -0
  23. data/lib/failirc/responses.rb +360 -0
  24. data/lib/failirc/server.rb +266 -0
  25. data/lib/failirc/server/channel.rb +122 -0
  26. data/lib/failirc/server/channels.rb +84 -0
  27. data/lib/failirc/server/client.rb +100 -0
  28. data/lib/failirc/server/clients.rb +54 -0
  29. data/lib/failirc/server/dispatcher.rb +219 -0
  30. data/lib/failirc/server/dispatcher/connectiondispatcher.rb +477 -0
  31. data/lib/failirc/server/dispatcher/event.rb +113 -0
  32. data/lib/failirc/server/dispatcher/eventdispatcher.rb +196 -0
  33. data/lib/failirc/server/link.rb +50 -0
  34. data/lib/failirc/server/links.rb +49 -0
  35. data/lib/failirc/server/module.rb +103 -0
  36. data/lib/failirc/server/modules/Base.rb +2545 -0
  37. data/lib/failirc/server/modules/Cloaking.rb +170 -0
  38. data/lib/failirc/server/modules/Firewall.rb +104 -0
  39. data/lib/failirc/server/modules/Netlog.rb +67 -0
  40. data/lib/failirc/server/modules/Roulette.rb +78 -0
  41. data/lib/failirc/server/modules/TinyURL.rb +98 -0
  42. data/lib/failirc/server/modules/Translate.rb +62 -0
  43. data/lib/failirc/server/modules/WordFilter.rb +144 -0
  44. data/lib/failirc/server/user.rb +72 -0
  45. data/lib/failirc/server/users.rb +103 -0
  46. data/lib/failirc/sslutils.rb +74 -0
  47. data/lib/failirc/utils.rb +53 -0
  48. metadata +107 -0
@@ -0,0 +1,53 @@
1
+ # failirc, a fail IRC library.
2
+ #
3
+ # Copyleft meh. [http://meh.doesntexist.org | meh.ffff@gmail.com]
4
+ #
5
+ # This file is part of failirc.
6
+ #
7
+ # failirc is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published
9
+ # by the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # failirc is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with failirc. If not, see <http://www.gnu.org/licenses/>.
19
+
20
+ require 'failirc/extensions'
21
+
22
+ class Object
23
+
24
+ def debug (argument, separator='')
25
+ output = ''
26
+
27
+ if argument.is_a?(Exception)
28
+ output << "\n#{self.class}: #{argument.class}: #{argument.message}\n"
29
+ output << argument.backtrace.collect {|stack|
30
+ "#{self.class}: #{stack}"
31
+ }.join("\n")
32
+ output << "\n\n"
33
+ elsif argument.is_a?(String)
34
+ output << "#{self.class}: #{argument}\n"
35
+ else
36
+ output << "#{self.class}: #{argument.inspect}\n"
37
+ end
38
+
39
+ if separator
40
+ output << separator
41
+ end
42
+
43
+ begin
44
+ if @verbose || (@server && @server.verbose) || (@client && @client.verbose)
45
+ puts output
46
+ end
47
+ rescue
48
+ end
49
+
50
+ (dispatcher rescue server.dispatcher rescue client.dispatcher).execute :log, output rescue nil
51
+ end
52
+
53
+ end
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: failirc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - meh.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-04-10 00:00:00 +02:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: openssl-nonblock
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ description: A fail IRC library, Server and Client. Includes a working IRCd and IRCbot.
26
+ email: meh.ffff@gmail.com
27
+ executables:
28
+ - failircd
29
+ - failbot
30
+ extensions: []
31
+
32
+ extra_rdoc_files: []
33
+
34
+ files:
35
+ - lib/failirc/responses.rb
36
+ - lib/failirc/mask.rb
37
+ - lib/failirc/extensions.rb
38
+ - lib/failirc/server.rb
39
+ - lib/failirc/modes.rb
40
+ - lib/failirc/client/users.rb
41
+ - lib/failirc/client/channels.rb
42
+ - lib/failirc/client/server.rb
43
+ - lib/failirc/client/dispatcher/event.rb
44
+ - lib/failirc/client/dispatcher/eventdispatcher.rb
45
+ - lib/failirc/client/dispatcher/connectiondispatcher.rb
46
+ - lib/failirc/client/channel.rb
47
+ - lib/failirc/client/client.rb
48
+ - lib/failirc/client/module.rb
49
+ - lib/failirc/client/clients.rb
50
+ - lib/failirc/client/modules/Base.rb
51
+ - lib/failirc/client/modules/Logger.rb
52
+ - lib/failirc/client/dispatcher.rb
53
+ - lib/failirc/client/user.rb
54
+ - lib/failirc/server/users.rb
55
+ - lib/failirc/server/channels.rb
56
+ - lib/failirc/server/link.rb
57
+ - lib/failirc/server/dispatcher/event.rb
58
+ - lib/failirc/server/dispatcher/eventdispatcher.rb
59
+ - lib/failirc/server/dispatcher/connectiondispatcher.rb
60
+ - lib/failirc/server/channel.rb
61
+ - lib/failirc/server/client.rb
62
+ - lib/failirc/server/module.rb
63
+ - lib/failirc/server/clients.rb
64
+ - lib/failirc/server/modules/Cloaking.rb
65
+ - lib/failirc/server/modules/WordFilter.rb
66
+ - lib/failirc/server/modules/Netlog.rb
67
+ - lib/failirc/server/modules/Firewall.rb
68
+ - lib/failirc/server/modules/TinyURL.rb
69
+ - lib/failirc/server/modules/Translate.rb
70
+ - lib/failirc/server/modules/Base.rb
71
+ - lib/failirc/server/modules/Roulette.rb
72
+ - lib/failirc/server/dispatcher.rb
73
+ - lib/failirc/server/links.rb
74
+ - lib/failirc/server/user.rb
75
+ - lib/failirc/client.rb
76
+ - lib/failirc/errors.rb
77
+ - lib/failirc/utils.rb
78
+ - lib/failirc/sslutils.rb
79
+ - lib/failirc.rb
80
+ has_rdoc: true
81
+ homepage: http://github.com/meh/failirc
82
+ post_install_message:
83
+ rdoc_options: []
84
+
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: "0"
92
+ version:
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: "0"
98
+ version:
99
+ requirements: []
100
+
101
+ rubyforge_project:
102
+ rubygems_version: 1.3.1
103
+ signing_key:
104
+ specification_version: 2
105
+ summary: A fail IRC library.
106
+ test_files: []
107
+