jeffrafter-marvin 0.1.20081115 → 0.1.20081120

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 (48) hide show
  1. data/README.textile +105 -32
  2. data/VERSION.yml +1 -1
  3. data/bin/marvin +10 -6
  4. data/config/connections.yml.sample +5 -0
  5. data/config/settings.yml.sample +2 -7
  6. data/config/setup.rb +6 -1
  7. data/handlers/debug_handler.rb +5 -0
  8. data/handlers/hello_world.rb +1 -1
  9. data/lib/marvin.rb +13 -9
  10. data/lib/marvin/abstract_client.rb +88 -43
  11. data/lib/marvin/abstract_parser.rb +14 -2
  12. data/lib/marvin/base.rb +44 -6
  13. data/lib/marvin/dispatchable.rb +9 -4
  14. data/lib/marvin/exception_tracker.rb +1 -1
  15. data/lib/marvin/exceptions.rb +3 -0
  16. data/lib/marvin/irc.rb +4 -5
  17. data/lib/marvin/irc/client.rb +39 -7
  18. data/lib/marvin/irc/event.rb +9 -4
  19. data/lib/marvin/irc/replies.rb +154 -0
  20. data/lib/marvin/loader.rb +26 -8
  21. data/lib/marvin/logger.rb +66 -3
  22. data/lib/marvin/options.rb +33 -0
  23. data/lib/marvin/parsers.rb +3 -0
  24. data/lib/marvin/parsers/command.rb +105 -0
  25. data/lib/marvin/parsers/prefixes.rb +8 -0
  26. data/lib/marvin/parsers/prefixes/host_mask.rb +30 -0
  27. data/lib/marvin/parsers/prefixes/server.rb +24 -0
  28. data/lib/marvin/parsers/ragel_parser.rb +713 -0
  29. data/lib/marvin/parsers/ragel_parser.rl +144 -0
  30. data/lib/marvin/parsers/regexp_parser.rb +0 -3
  31. data/lib/marvin/parsers/simple_parser.rb +20 -81
  32. data/lib/marvin/settings.rb +9 -9
  33. data/lib/marvin/test_client.rb +5 -1
  34. data/lib/marvin/util.rb +20 -3
  35. data/script/{run → client} +0 -0
  36. data/script/daemon-runner +1 -1
  37. data/script/install +3 -0
  38. data/test/parser_comparison.rb +62 -0
  39. data/test/parser_test.rb +264 -0
  40. data/test/test_helper.rb +10 -0
  41. metadata +19 -9
  42. data/lib/marvin/drb_handler.rb +0 -7
  43. data/lib/marvin/irc/abstract_server.rb +0 -4
  44. data/lib/marvin/irc/base_server.rb +0 -11
  45. data/lib/marvin/irc/socket_client.rb +0 -69
  46. data/lib/marvin/parsers/simple_parser/default_events.rb +0 -37
  47. data/lib/marvin/parsers/simple_parser/event_extensions.rb +0 -14
  48. data/lib/marvin/parsers/simple_parser/prefixes.rb +0 -34
@@ -1,14 +0,0 @@
1
- # An extension to Marvin::IRC::Event which
2
- # lets a user specify a prefix to use.
3
- class Marvin::Parsers::SimpleParser < Marvin::AbstractParser
4
-
5
- class EventWithPrefix < Marvin::IRC::Event
6
- attr_accessor :prefix
7
-
8
- def to_hash
9
- super.merge(prefix.blank? ? {} : prefix.to_hash)
10
- end
11
-
12
- end
13
-
14
- end
@@ -1,34 +0,0 @@
1
- # A Set of prefixes for a given IRC line
2
- # as parsed from an incoming line.
3
- class Marvin::Parsers::SimpleParser < Marvin::AbstractParser
4
-
5
- class Prefix; end
6
-
7
- class ServerNamePrefix < Prefix
8
- attr_accessor :server_name
9
-
10
- def initialize(name)
11
- self.server_name = name
12
- end
13
-
14
- def to_hash
15
- {:server => self.server_name}
16
- end
17
-
18
- end
19
-
20
- class UserPrefix < Prefix
21
- attr_accessor :nick, :ident, :host
22
-
23
- def initialize(nick, ident = nil, host = nil)
24
- self.nick = nick
25
- self.ident = ident
26
- self.host = host
27
- end
28
-
29
- def to_hash
30
- {:host => self.host, :nick => self.nick, :ident => self.ident}
31
- end
32
- end
33
-
34
- end