eventbus 0.0.20 → 0.0.21

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 (107) hide show
  1. metadata +25 -122
  2. data/admin/Gemfile +0 -50
  3. data/admin/Gemfile.lock +0 -141
  4. data/admin/Rakefile +0 -7
  5. data/admin/app/assets/images/rails.png +0 -0
  6. data/admin/app/assets/javascripts/application.js +0 -15
  7. data/admin/app/assets/javascripts/applications.js.coffee +0 -3
  8. data/admin/app/assets/javascripts/message_routes.js.coffee +0 -3
  9. data/admin/app/assets/javascripts/message_types.js.coffee +0 -3
  10. data/admin/app/assets/javascripts/messages.js.coffee +0 -3
  11. data/admin/app/assets/stylesheets/application.css +0 -13
  12. data/admin/app/assets/stylesheets/applications.css.scss +0 -3
  13. data/admin/app/assets/stylesheets/global.css.scss +0 -72
  14. data/admin/app/assets/stylesheets/message_routes.css.scss +0 -3
  15. data/admin/app/assets/stylesheets/message_types.css.scss +0 -3
  16. data/admin/app/assets/stylesheets/messages.css.scss +0 -30
  17. data/admin/app/assets/stylesheets/scaffolds.css.scss +0 -56
  18. data/admin/app/controllers/application_controller.rb +0 -3
  19. data/admin/app/controllers/applications_controller.rb +0 -83
  20. data/admin/app/controllers/message_routes_controller.rb +0 -85
  21. data/admin/app/controllers/message_types_controller.rb +0 -83
  22. data/admin/app/controllers/messages_controller.rb +0 -75
  23. data/admin/app/helpers/application_helper.rb +0 -2
  24. data/admin/app/helpers/applications_helper.rb +0 -2
  25. data/admin/app/helpers/message_routes_helper.rb +0 -2
  26. data/admin/app/helpers/message_types_helper.rb +0 -2
  27. data/admin/app/helpers/messages_helper.rb +0 -2
  28. data/admin/app/models/application.rb +0 -7
  29. data/admin/app/models/message.rb +0 -4
  30. data/admin/app/models/message_route.rb +0 -5
  31. data/admin/app/models/message_type.rb +0 -7
  32. data/admin/app/views/applications/_form.html.haml +0 -27
  33. data/admin/app/views/applications/edit.html.haml +0 -5
  34. data/admin/app/views/applications/index.html.haml +0 -28
  35. data/admin/app/views/applications/new.html.haml +0 -3
  36. data/admin/app/views/applications/show.html.haml +0 -16
  37. data/admin/app/views/layouts/application.html.haml +0 -24
  38. data/admin/app/views/message_routes/_form.html.haml +0 -31
  39. data/admin/app/views/message_routes/edit.html.haml +0 -5
  40. data/admin/app/views/message_routes/index.html.haml +0 -28
  41. data/admin/app/views/message_routes/new.html.haml +0 -3
  42. data/admin/app/views/message_routes/show.html.haml +0 -16
  43. data/admin/app/views/message_types/_form.html.haml +0 -29
  44. data/admin/app/views/message_types/edit.html.haml +0 -5
  45. data/admin/app/views/message_types/index.html.haml +0 -28
  46. data/admin/app/views/message_types/new.html.haml +0 -5
  47. data/admin/app/views/message_types/show.html.haml +0 -17
  48. data/admin/app/views/messages/index.html.haml +0 -48
  49. data/admin/app/views/messages/show.html.haml +0 -45
  50. data/admin/config/application.rb +0 -64
  51. data/admin/config/boot.rb +0 -6
  52. data/admin/config/database.yml +0 -29
  53. data/admin/config/environment.rb +0 -5
  54. data/admin/config/environments/development.rb +0 -37
  55. data/admin/config/environments/production.rb +0 -72
  56. data/admin/config/environments/test.rb +0 -37
  57. data/admin/config/initializers/backtrace_silencers.rb +0 -7
  58. data/admin/config/initializers/inflections.rb +0 -15
  59. data/admin/config/initializers/mime_types.rb +0 -5
  60. data/admin/config/initializers/secret_token.rb +0 -7
  61. data/admin/config/initializers/session_store.rb +0 -8
  62. data/admin/config/initializers/wrap_parameters.rb +0 -14
  63. data/admin/config/locales/en.yml +0 -5
  64. data/admin/config/routes.rb +0 -69
  65. data/admin/config.ru +0 -4
  66. data/admin/db/development.sqlite3-journal +0 -0
  67. data/admin/db/migrate/20120218124300_create_messages.rb +0 -16
  68. data/admin/db/migrate/20120219021535_create_applications.rb +0 -11
  69. data/admin/db/migrate/20120219021806_create_message_types.rb +0 -13
  70. data/admin/db/migrate/20120219021940_create_message_routes.rb +0 -13
  71. data/admin/db/migrate/20120411001040_add_app_id_key_msg_type_id_to_messages.rb +0 -7
  72. data/admin/db/migrate/20120411001823_rename_message_type_to_message_type_name_in_messages.rb +0 -5
  73. data/admin/db/migrate/20120413024953_add_message_guid_to_messages.rb +0 -5
  74. data/admin/db/migrate/20120523112257_add_match_all_errors_to_routes.rb +0 -5
  75. data/admin/db/schema.rb +0 -68
  76. data/admin/db/seeds.rb +0 -7
  77. data/admin/doc/README_FOR_APP +0 -2
  78. data/admin/public/404.html +0 -26
  79. data/admin/public/422.html +0 -26
  80. data/admin/public/500.html +0 -25
  81. data/admin/public/favicon.ico +0 -0
  82. data/admin/public/robots.txt +0 -5
  83. data/admin/script/rails +0 -6
  84. data/admin/script/railsrunner +0 -3
  85. data/admin/test/fixtures/applications.yml +0 -14
  86. data/admin/test/fixtures/message_routes.yml +0 -11
  87. data/admin/test/fixtures/message_types.yml +0 -17
  88. data/admin/test/fixtures/messages.yml +0 -45
  89. data/admin/test/functional/applications_controller_test.rb +0 -49
  90. data/admin/test/functional/message_routes_controller_test.rb +0 -49
  91. data/admin/test/functional/message_types_controller_test.rb +0 -49
  92. data/admin/test/functional/messages_controller_test.rb +0 -49
  93. data/admin/test/performance/browsing_test.rb +0 -12
  94. data/admin/test/test_helper.rb +0 -13
  95. data/admin/test/unit/application_test.rb +0 -7
  96. data/admin/test/unit/helpers/applications_helper_test.rb +0 -4
  97. data/admin/test/unit/helpers/message_routes_helper_test.rb +0 -4
  98. data/admin/test/unit/helpers/message_types_helper_test.rb +0 -4
  99. data/admin/test/unit/helpers/messages_helper_test.rb +0 -4
  100. data/admin/test/unit/message_route_test.rb +0 -7
  101. data/admin/test/unit/message_test.rb +0 -7
  102. data/admin/test/unit/message_type_test.rb +0 -7
  103. data/bin/eventbus_dispatcher.rb +0 -118
  104. data/bin/eventbus_emailer.rb +0 -41
  105. data/lib/eventbus/connectors/amqp.rb +0 -70
  106. data/lib/eventbus/connectors/bunny.rb +0 -71
  107. data/lib/eventbus/connectors/stomp.rb +0 -77
@@ -1,70 +0,0 @@
1
-
2
- require 'amqp'
3
-
4
- module AMQPConnectionDriver
5
-
6
-
7
- def connection_driver_initialize
8
- puts "AMQPConnectionDriver is loaded!"
9
- end
10
-
11
- def get_connection
12
- new_opts = {
13
- :vhost => ENV["BROKER_VHOST"] || "eventbus",
14
- :host => ENV["BROKER_HOST"] || "localhost",
15
- :port => ENV["BROKER_PORT"] || 5672,
16
- :user => ENV["BROKER_USER"] || "eventbus",
17
- :pass => ENV["BROKER_PASS"] || "eventbus",
18
- # :logging => opts.delete(:logging) || false,
19
- #:logfile => opts.delete(:logfile) || STDOUT
20
- }
21
-
22
- return AMQP.connect(new_opts)
23
-
24
- end
25
-
26
- def send_raw(content, opts = {})
27
- queue_name = opts.delete(:queue_name)
28
- EventMachine.run do
29
- client = get_connection
30
- channel = AMQP::Channel.new(client)
31
-
32
- exchange = channel.direct('eventbus', :durable => true,
33
- :persistent => true, :immediate => false,
34
- :auto_delete => false)
35
-
36
- puts "Declaring queue: #{queue_name}"
37
- q = channel.queue(queue_name, :durable => true, :persistent => true, :immediate => false, :auto_delete => false)
38
- q.bind(exchange, :routing_key => queue_name)
39
-
40
- puts "Sending message..."
41
- exchange.publish(content, :routing_key => queue_name) do
42
- puts "Published to #{queue_name}: #{content}"
43
- client.close { EventMachine.stop }
44
- end
45
- end
46
- end
47
-
48
- def watch_queue(listen_queue)
49
- EventMachine.run do
50
- client = get_connection
51
- channel = AMQP::Channel.new(client)
52
-
53
- @logger.info "Listening on #{listen_queue}"
54
-
55
- exchange = channel.direct('eventbus', :durable => true,
56
- :persistent => true, :immediate => false,
57
- :auto_delete => false)
58
-
59
- q = channel.queue(listen_queue, :durable => true, :persistent => true, :immediate => false, :auto_delete => false)
60
-
61
-
62
- q.bind(exchange, :routing_key => listen_queue)
63
-
64
- q.subscribe do |headers, payload|
65
- yield payload
66
- end
67
-
68
- end
69
- end
70
- end
@@ -1,71 +0,0 @@
1
- # BunnyConnectionDriver is the original implementation of
2
- # the AMQP-based broker. I am trying to make this work with
3
- # straight Ruby AMQP driver, but this one is the default
4
- # until I get that working properly.
5
-
6
- module BunnyConnectionDriver
7
-
8
- @@BunnyConnector_Connection = nil
9
-
10
- def connection_driver_initialize
11
- puts "BunnyConnectionDriver is loaded!"
12
- end
13
-
14
- def get_connection
15
- if @@BunnyConnector_Connection.nil?
16
- new_opts = {
17
- :vhost => ENV["BROKER_VHOST"] || "eventbus",
18
- :host => ENV["BROKER_HOST"] || "localhost",
19
- :port => ENV["BROKER_PORT"] || 5672,
20
- :user => ENV["BROKER_USER"] || "eventbus",
21
- :pass => ENV["BROKER_PASS"] || "eventbus",
22
- # :logging => opts.delete(:logging) || false,
23
- #:logfile => opts.delete(:logfile) || STDOUT
24
- }
25
-
26
- @@BunnyConnector_Connection = Bunny.new(new_opts)
27
- @@BunnyConnector_Connection.start
28
- end
29
-
30
- return @@BunnyConnector_Connection
31
-
32
- end
33
-
34
- def send_raw(content, opts = {})
35
- queue_name = opts.delete(:queue_name)
36
- client = get_connection
37
-
38
- exchange = client.exchange('eventbus', :durable => true, :persistent => true, :immediate => false)
39
-
40
- puts "Declaring queue: #{queue_name}"
41
- q = client.queue(queue_name, :durable => true, :persistent => true, :immediate => false)
42
- q.bind('eventbus', :key => queue_name)
43
-
44
- puts "Publishing content to #{queue_name}: #{content}"
45
- exchange.publish(content, :key => queue_name)
46
- puts "Done!"
47
-
48
- end
49
-
50
- def watch_queue(listen_queue)
51
-
52
- b = get_connection
53
-
54
- @logger.info "Listening on #{listen_queue}"
55
-
56
- exchange = b.exchange('eventbus', :durable => true, :persistent => true, :immediate => false)
57
-
58
- q = b.queue(listen_queue, :durable => true, :persistent => true, :immediate => false)
59
- q.bind(exchange, :key => listen_queue)
60
-
61
- q.pop do |msg|
62
- if msg[:delivery_details].nil?
63
- # Gotta figure out why this is necessary. Blech.
64
- sleep 0.25
65
- else
66
- yield msg[:payload]
67
- end
68
- end
69
-
70
- end
71
- end
@@ -1,77 +0,0 @@
1
- # This module is primarily intended for use with ActiveMQ, though
2
- # it should work with any Stomp-speaking broker.
3
- require 'stomp'
4
- module StompConnectionDriver
5
-
6
- @@StompConnector_Connection = nil
7
-
8
- def connection_driver_initialize
9
- puts "StompConnectionDriver is loaded!"
10
- end
11
-
12
- def get_connection
13
- if @@StompConnector_Connection.nil?
14
- opts = {
15
- :host => ENV["BROKER_HOST"] || "localhost",
16
- :port => ENV["BROKER_PORT"] || 61613,
17
- :user => ENV["BROKER_USER"],
18
- :pass => ENV["BROKER_PASS"],
19
- # :logging => opts.delete(:logging) || false,
20
- #:logfile => opts.delete(:logfile) || STDOUT
21
- }
22
-
23
- stomp_url = ENV['STOMP_URL'] ||
24
- "stomp://#{opts[:user]}:#{opts[:pass]}@#{opts[:host]}:#{opts[:port]}?initialReconnectDelay=5000&randomize=false&useExponentialBackOff=false"
25
- @@StompConnector_Connection = Stomp::Client.new(stomp_url)
26
- end
27
-
28
- return @@StompConnector_Connection
29
-
30
- end
31
-
32
- # opts basically just gets passed to the Stomp client.send, so it can be things
33
- # like :persistent => false, etc. :persistent is true by default.
34
- def send_raw(content, opts = {})
35
-
36
- queue_name = opts.delete(:queue_name)
37
- queue_name = "/queue/#{queue_name}"
38
-
39
- opts[:persistent] = true if opts[:persistent].nil?
40
-
41
- # "Fix" an ActiveMQ "bug" where it assumes that any message with a content-length
42
- # header is a bytes-message instead of a text message. This behavior prevents the
43
- # message conent from showing up in the "Message Details" section when you try
44
- # to view the message in ActiveMQ's admin interface.
45
- #
46
- # Note that the *correct* behavior is the opposite of this: All Stomp messages
47
- # are recommended to include content-length. However, this is the *less annoying*
48
- # and *more useful* behavior.
49
- opts[:suppress_content_length] = true if opts[:suppress_content_length].nil?
50
-
51
- puts "Stomp sending message to: #{queue_name}"
52
-
53
- client = get_connection
54
- client.publish(queue_name, content, opts)
55
-
56
- end
57
-
58
- def watch_queue(listen_queue)
59
- client = get_connection
60
-
61
- queue_name = listen_queue.match('^/') ? listen_queue : "/queue/#{listen_queue}"
62
-
63
- # OK, so some assumption that we're using ActiveMQ here. We'll work that out eventually. The point
64
- # is, though, that we want to allow for maximum parallelism -- not just by thread but also across
65
- # processes and machines. Therefore, don't lock the queue exclusively (i.e. don't kill other clients!)
66
- # and only take blocks of one message rather than claiming large blocks. These assumptions should become
67
- # configurable at some point, but for now it's not really a concern.
68
- puts "Subscribing to #{queue_name}..."
69
-
70
- client.subscribe(queue_name, {"activemq.prefetchSize" => 1, "activemq.exclusive" => false}) do |msg|
71
- yield msg.body
72
- end
73
-
74
-
75
- end
76
-
77
- end