miu 0.1.0 → 0.2.0

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 (54) hide show
  1. data/.rspec +2 -0
  2. data/.travis.yml +21 -0
  3. data/Gemfile +7 -0
  4. data/Guardfile +8 -0
  5. data/README.md +19 -2
  6. data/Rakefile +3 -0
  7. data/bin/miu +0 -2
  8. data/lib/miu/cli.rb +49 -24
  9. data/lib/miu/cli_base.rb +7 -0
  10. data/lib/miu/command.rb +19 -12
  11. data/lib/miu/errors.rb +22 -0
  12. data/lib/miu/forwarder.rb +54 -0
  13. data/lib/miu/logger.rb +11 -5
  14. data/lib/miu/messages/base.rb +14 -4
  15. data/lib/miu/messages/text.rb +4 -2
  16. data/lib/miu/messages/unknown.rb +11 -0
  17. data/lib/miu/messages.rb +17 -2
  18. data/lib/miu/{plugin.rb → node.rb} +10 -9
  19. data/lib/miu/nodes/.gitkeep +0 -0
  20. data/lib/miu/{plugins.rb → nodes.rb} +1 -1
  21. data/lib/miu/packet.rb +11 -18
  22. data/lib/miu/proxy.rb +57 -0
  23. data/lib/miu/publishable.rb +18 -0
  24. data/lib/miu/publisher.rb +16 -22
  25. data/lib/miu/resources/base.rb +2 -2
  26. data/lib/miu/resources/content.rb +1 -1
  27. data/lib/miu/resources/network.rb +1 -1
  28. data/lib/miu/resources/room.rb +1 -1
  29. data/lib/miu/resources/text_content.rb +3 -5
  30. data/lib/miu/resources/user.rb +1 -1
  31. data/lib/miu/server.rb +10 -25
  32. data/lib/miu/socket.rb +100 -28
  33. data/lib/miu/subscribable.rb +44 -0
  34. data/lib/miu/subscriber.rb +17 -48
  35. data/lib/miu/utility.rb +13 -8
  36. data/lib/miu/version.rb +1 -1
  37. data/lib/miu.rb +42 -25
  38. data/miu.gemspec +6 -4
  39. data/spec/miu/command_spec.rb +26 -0
  40. data/spec/miu/logger_spec.rb +39 -0
  41. data/spec/miu/messages/base_spec.rb +43 -0
  42. data/spec/miu/messages/text_spec.rb +35 -0
  43. data/spec/miu/node_spec.rb +31 -0
  44. data/spec/miu/packet_spec.rb +47 -0
  45. data/spec/miu/publishable_spec.rb +24 -0
  46. data/spec/miu/publisher_spec.rb +36 -0
  47. data/spec/miu/subscribable_spec.rb +44 -0
  48. data/spec/miu/subscriber_spec.rb +36 -0
  49. data/spec/miu/utility_spec.rb +60 -0
  50. data/spec/miu_spec.rb +23 -0
  51. data/spec/spec_helper.rb +15 -0
  52. metadata +86 -19
  53. data/lib/miu/plugins/null.rb +0 -59
  54. data/lib/templates/Gemfile +0 -8
@@ -1,59 +0,0 @@
1
- require 'miu/plugin'
2
-
3
- module Miu
4
- module Plugins
5
- class Null
6
- include Miu::Plugin
7
-
8
- DEFAULT_PORT = Miu.default_port + 10
9
-
10
- class Handler
11
- def log(tag, time, record)
12
- end
13
- end
14
-
15
- def initialize(options)
16
- require 'msgpack/rpc'
17
- @server = MessagePack::RPC::Server.new
18
- @server.listen options[:host], options[:port], Handler.new
19
-
20
- [:TERM, :INT].each do |sig|
21
- Signal.trap(sig) { @server.stop }
22
- end
23
-
24
- @server.run
25
- end
26
-
27
- register :null, :desc => 'Null plugin' do
28
- desc 'start', 'start null'
29
- option :bind, :type => :string, :default => '0.0.0.0', :desc => 'bind address', :aliases => '-a'
30
- option :port, :type => :numeric, :default => DEFAULT_PORT, :desc => 'listen port', :aliases => '-p'
31
- def start
32
- Null.new options
33
- end
34
-
35
- desc 'init', 'init null config'
36
- def init
37
- append_to_file Miu.default_god_config, <<-CONF
38
-
39
- God.watch do |w|
40
- w.dir = Miu.root
41
- w.log = Miu.root.join('log/null.log')
42
- w.name = 'null'
43
- w.start = 'bundle exec miu null start'
44
- end
45
- CONF
46
- append_to_file Miu.default_fluent_config, <<-CONF
47
-
48
- # miu null output plugin
49
- <match miu.output.null>
50
- type msgpack_rpc
51
- host localhost
52
- port #{DEFAULT_PORT}
53
- </match>
54
- CONF
55
- end
56
- end
57
- end
58
- end
59
- end
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- group :assets do
4
- gem 'god'
5
- end
6
-
7
- gem 'miu'
8
-