gz_activemessaging 0.13.1

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 (92) hide show
  1. checksums.yaml +15 -0
  2. data/.travis.yml +40 -0
  3. data/Appraisals +19 -0
  4. data/Gemfile +15 -0
  5. data/Gemfile.lock +87 -0
  6. data/README.md +27 -0
  7. data/Rakefile +49 -0
  8. data/VERSION +1 -0
  9. data/activemessaging.gemspec +137 -0
  10. data/gemfiles/activesupport23.gemfile +10 -0
  11. data/gemfiles/activesupport23.gemfile.lock +51 -0
  12. data/gemfiles/activesupport30.gemfile +11 -0
  13. data/gemfiles/activesupport30.gemfile.lock +53 -0
  14. data/gemfiles/activesupport31.gemfile +11 -0
  15. data/gemfiles/activesupport31.gemfile.lock +55 -0
  16. data/gemfiles/activesupport32.gemfile +10 -0
  17. data/gemfiles/activesupport32.gemfile.lock +55 -0
  18. data/generators/a13g_test_harness/a13g_test_harness_generator.rb +19 -0
  19. data/generators/a13g_test_harness/templates/active_messaging_test.rhtml +13 -0
  20. data/generators/a13g_test_harness/templates/active_messaging_test_controller.rb +29 -0
  21. data/generators/a13g_test_harness/templates/index.rhtml +17 -0
  22. data/generators/filter/USAGE +0 -0
  23. data/generators/filter/filter_generator.rb +19 -0
  24. data/generators/filter/templates/filter.rb +12 -0
  25. data/generators/filter/templates/filter_test.rb +28 -0
  26. data/generators/processor/USAGE +8 -0
  27. data/generators/processor/processor_generator.rb +31 -0
  28. data/generators/processor/templates/application_processor.rb +18 -0
  29. data/generators/processor/templates/broker.yml +140 -0
  30. data/generators/processor/templates/jruby_poller +117 -0
  31. data/generators/processor/templates/messaging.rb +12 -0
  32. data/generators/processor/templates/poller +25 -0
  33. data/generators/processor/templates/poller.rb +26 -0
  34. data/generators/processor/templates/processor.rb +8 -0
  35. data/generators/processor/templates/processor_test.rb +20 -0
  36. data/generators/tracer/USAGE +8 -0
  37. data/generators/tracer/templates/controller.rb +14 -0
  38. data/generators/tracer/templates/helper.rb +2 -0
  39. data/generators/tracer/templates/index.rhtml +4 -0
  40. data/generators/tracer/templates/layout.rhtml +16 -0
  41. data/generators/tracer/templates/trace_processor.rb +100 -0
  42. data/generators/tracer/tracer_generator.rb +25 -0
  43. data/init.rb +1 -0
  44. data/lib/activemessaging.rb +133 -0
  45. data/lib/activemessaging/adapter.rb +20 -0
  46. data/lib/activemessaging/adapters/amqp.rb +215 -0
  47. data/lib/activemessaging/adapters/asqs.rb +487 -0
  48. data/lib/activemessaging/adapters/base.rb +71 -0
  49. data/lib/activemessaging/adapters/beanstalk.rb +88 -0
  50. data/lib/activemessaging/adapters/jms.rb +243 -0
  51. data/lib/activemessaging/adapters/reliable_msg.rb +186 -0
  52. data/lib/activemessaging/adapters/stomp.rb +212 -0
  53. data/lib/activemessaging/adapters/synch.rb +95 -0
  54. data/lib/activemessaging/adapters/test.rb +137 -0
  55. data/lib/activemessaging/adapters/wmq.rb +193 -0
  56. data/lib/activemessaging/base_message.rb +28 -0
  57. data/lib/activemessaging/filter.rb +29 -0
  58. data/lib/activemessaging/gateway.rb +429 -0
  59. data/lib/activemessaging/message_sender.rb +30 -0
  60. data/lib/activemessaging/named_base.rb +54 -0
  61. data/lib/activemessaging/processor.rb +44 -0
  62. data/lib/activemessaging/railtie.rb +26 -0
  63. data/lib/activemessaging/test_helper.rb +189 -0
  64. data/lib/activemessaging/threaded_poller.rb +234 -0
  65. data/lib/activemessaging/trace_filter.rb +34 -0
  66. data/lib/generators/active_messaging/install/USAGE +21 -0
  67. data/lib/generators/active_messaging/install/install_generator.rb +39 -0
  68. data/lib/generators/active_messaging/install/templates/application_processor.rb +18 -0
  69. data/lib/generators/active_messaging/install/templates/broker.yml +139 -0
  70. data/lib/generators/active_messaging/install/templates/poller +24 -0
  71. data/lib/generators/active_messaging/install/templates/poller.rb +22 -0
  72. data/lib/generators/active_messaging/install/templates/threaded_poller +46 -0
  73. data/lib/generators/active_messaging/processor/USAGE +2 -0
  74. data/lib/generators/active_messaging/processor/processor_generator.rb +39 -0
  75. data/lib/generators/active_messaging/processor/templates/messaging.rb +12 -0
  76. data/lib/generators/active_messaging/processor/templates/processor.rb +8 -0
  77. data/lib/generators/active_messaging/processor/templates/processor_spec.rb +24 -0
  78. data/lib/generators/active_messaging/processor/templates/processor_test.rb +20 -0
  79. data/lib/tasks/start_consumers.rake +8 -0
  80. data/poller.rb +14 -0
  81. data/test/all_tests.rb +10 -0
  82. data/test/app/config/broker.yml +4 -0
  83. data/test/asqs_test.rb +125 -0
  84. data/test/config_test.rb +42 -0
  85. data/test/filter_test.rb +131 -0
  86. data/test/gateway_test.rb +220 -0
  87. data/test/jms_test.rb +64 -0
  88. data/test/reliable_msg_test.rb +83 -0
  89. data/test/stomp_test.rb +168 -0
  90. data/test/test_helper.rb +36 -0
  91. data/test/tracer_test.rb +57 -0
  92. metadata +202 -0
data/test/jms_test.rb ADDED
@@ -0,0 +1,64 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+ if defined?(JRUBY_VERSION)
4
+
5
+ require 'activemessaging/adapters/jms'
6
+
7
+ class JmsTest < Test::Unit::TestCase
8
+
9
+ def setup
10
+ @test_txt = 'Yo Homie!'
11
+ @isolation_const = rand(99999999)
12
+ @connection = ActiveMessaging::Adapters::Jms::Connection.new(:url => 'vm://jms_test',
13
+ :login => '',
14
+ :passcode => '',
15
+ :connection_factory => 'org.apache.activemq.ActiveMQConnectionFactory')
16
+ end
17
+
18
+ def test_send
19
+ @connection.send "/queue/TestQueue#{@isolation_const}", @test_txt, {}
20
+ end
21
+
22
+ def test_receive_with_one
23
+ @connection.send "/queue/TestQueue#{@isolation_const}", @test_txt
24
+ @connection.subscribe "/queue/TestQueue#{@isolation_const}"
25
+ message = @connection.receive
26
+ assert_equal @test_txt, message.body
27
+ end
28
+
29
+ def test_receive_multi
30
+ 10.times do |i|
31
+ @connection.send "/queue/MultiQueue#{@isolation_const}", @test_txt
32
+ end
33
+
34
+ counter=0
35
+ @connection.subscribe "/queue/MultiQueue#{@isolation_const}"
36
+ while message = @connection.receive
37
+ assert_equal @test_txt, message.body
38
+ counter += 1
39
+ end
40
+ assert_equal 10, counter
41
+ end
42
+
43
+ def test_one_off_receive
44
+ @connection.send "/queue/OneOff#{@isolation_const}", "one off message"
45
+ sleep 2
46
+ message = @connection.receive "/queue/OneOff#{@isolation_const}"
47
+ assert_equal "one off message", message.body
48
+ assert_equal "MESSAGE", message.command
49
+ assert_equal "/queue/OneOff#{@isolation_const}", message.headers['destination']
50
+ end
51
+
52
+ def test_unsubscribe
53
+ @connection.subscribe "/queue/TestSubQueue#{@isolation_const}"
54
+ @connection.unsubscribe "/queue/TestSubQueue#{@isolation_const}"
55
+ assert_nil @connection.consumers["TestSubQueue#{@isolation_const}"]
56
+ end
57
+
58
+ def teardown
59
+ @connection.close unless @connection.nil?
60
+ end
61
+
62
+ end
63
+
64
+ end
@@ -0,0 +1,83 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ loaded = true
3
+ begin
4
+ require 'reliable-msg'
5
+ rescue Object => e
6
+ loaded = false
7
+ end
8
+ if loaded
9
+
10
+ require 'activemessaging/adapters/reliable_msg'
11
+
12
+ class ReliableMsgTest < Test::Unit::TestCase
13
+
14
+ def setup
15
+ @qm = ReliableMsg::QueueManager.new
16
+ @qm.start
17
+ @connection = ActiveMessaging::Adapters::ReliableMsgConnection.new(:reliable=>false, :poll_interval=>2)
18
+ @d = "/queue/reliable.msg.test}."
19
+ @message = "mary had a little lamb"
20
+ @message2 = "whose fleece was white as snow"
21
+ end
22
+
23
+ def teardown
24
+ @connection.disconnect unless @connection.nil?
25
+ @qm.stop unless @qm.nil?
26
+ end
27
+
28
+ def test_subscribe_and_unsubscribe
29
+ assert_nil @connection.subscriptions["#{@d}test_subscribe"]
30
+ @connection.subscribe "#{@d}test_subscribe"
31
+ assert_equal 1, @connection.subscriptions["#{@d}test_subscribe"].count
32
+ @connection.subscribe "#{@d}test_subscribe"
33
+ assert_equal 2, @connection.subscriptions["#{@d}test_subscribe"].count
34
+ @connection.unsubscribe "#{@d}test_subscribe"
35
+ assert_equal 1, @connection.subscriptions["#{@d}test_subscribe"].count
36
+ @connection.unsubscribe "#{@d}test_subscribe"
37
+ assert_nil @connection.subscriptions["#{@d}test_subscribe"]
38
+ end
39
+
40
+ def test_send_and_receive
41
+ @connection.subscribe "#{@d}test_send_and_receive"
42
+ @connection.send "#{@d}test_send_and_receive", @message
43
+ message = @connection.receive
44
+ @connection.received message
45
+ assert_equal @message, message.body
46
+ end
47
+
48
+
49
+ def test_send_and_receive_multiple_subscriptions
50
+ @connection.subscribe "#{@d}test_send_and_receive1"
51
+ @connection.subscribe "#{@d}test_send_and_receive2"
52
+ @connection.subscribe "#{@d}test_send_and_receive3"
53
+
54
+ @connection.send "#{@d}test_send_and_receive2", "message2"
55
+ message = @connection.receive
56
+ @connection.received message
57
+ assert_equal "message2", message.body
58
+
59
+ @connection.send "#{@d}test_send_and_receive3", "message3"
60
+ message = @connection.receive
61
+ @connection.received message
62
+ assert_equal "message3", message.body
63
+
64
+ end
65
+
66
+
67
+ def test_will_cause_sleep
68
+
69
+ begin
70
+ Timeout.timeout 10 do
71
+ @connection.subscribe "#{@d}test_will_cause_sleep"
72
+ message = @connection.receive
73
+ @connection.received message
74
+ assert false
75
+ end
76
+ rescue Timeout::Error=>toe
77
+ assert true
78
+ end
79
+ end
80
+
81
+ end
82
+
83
+ end # if loaded
@@ -0,0 +1,168 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'activemessaging/adapters/stomp'
3
+
4
+ loaded = true
5
+ begin
6
+ require 'stomp'
7
+ rescue Object => e
8
+ loaded = false
9
+ end
10
+ if loaded #only run these test if stomp gem installed
11
+
12
+
13
+ class FakeTCPSocket
14
+ attr_accessor :sent_messages
15
+ def initialize; @sent_messages=[]; end
16
+ def puts(s=""); @sent_messages << s; end
17
+ def write(s=""); self.puts s; end
18
+ def ready?; true; end
19
+ end
20
+
21
+
22
+ module Stomp
23
+ class Connection
24
+
25
+ attr_accessor :subscriptions
26
+
27
+ def socket
28
+ @socket = FakeTCPSocket.new if @socket.nil?
29
+ @socket
30
+ end
31
+
32
+ def receive=(msg)
33
+ # stomp 1.0.5 code, now no longer works
34
+ # sm = Stomp::Message.new do |m|
35
+ # m.command = 'MESSAGE'
36
+ # m.body = msg
37
+ # m.headers = {'message-id'=>'testmessage1', 'content-length'=>msg.length, 'destination'=>'destination1'}
38
+ # end
39
+
40
+ sm = Stomp::Message.new("MESSAGE\ndestination:/queue/stomp/destination/1\nmessage-id: messageid1\ncontent-length:#{msg.length}\n\n#{msg}\0\n")
41
+
42
+ sm.command = 'MESSAGE'
43
+ sm.headers = {'message-id'=>'testmessage1', 'content-length'=>msg.length, 'destination'=>'destination1'}
44
+
45
+ @test_message = ActiveMessaging::Adapters::Stomp::Message.new(sm)
46
+ end
47
+
48
+ def receive
49
+ @test_message
50
+ end
51
+ end
52
+ end
53
+
54
+ class StompTest < Test::Unit::TestCase
55
+
56
+ def setup
57
+ @connection = ActiveMessaging::Adapters::Stomp::Connection.new({})
58
+ @d = "/queue/stomp/destination/1"
59
+ @message = "mary had a little lamb"
60
+ @connection.stomp_connection.receive = @message
61
+ end
62
+
63
+ def sent_command
64
+ @connection.stomp_connection.socket.sent_messages[0]
65
+ end
66
+
67
+ def sent_headers
68
+ @connection.stomp_connection.socket.sent_messages.drop(1).take_while { |line| !line.empty? }
69
+ end
70
+
71
+ def sent_body
72
+ (@connection.stomp_connection.socket.sent_messages.drop_while {|line| !line.empty?}).drop(1).first
73
+ end
74
+
75
+ def test_initialize
76
+ i = { :retryMax => 4,
77
+ :deadLetterQueue=>'/queue/dlq',
78
+ :login=>"",
79
+ :passcode=> "",
80
+ :host=> "localhost",
81
+ :port=> "61613",
82
+ :reliable=>FALSE,
83
+ :reconnectDelay=> 5,
84
+ :clientId=> 'cid',
85
+ :deadLetterQueuePrefix=>"DLQ."}
86
+
87
+ @connection = ActiveMessaging::Adapters::Stomp::Connection.new(i)
88
+ assert_equal 4, @connection.retryMax
89
+ assert_equal '/queue/dlq', @connection.deadLetterQueue
90
+ assert_equal "DLQ.", @connection.deadLetterQueuePrefix
91
+ assert_equal true, @connection.supports_dlq?
92
+ end
93
+
94
+ def test_disconnect
95
+ @connection.disconnect
96
+ assert_equal "DISCONNECT", sent_command
97
+ end
98
+
99
+ def test_subscribe
100
+ @connection.subscribe @d, {}
101
+ assert_equal "SUBSCRIBE", sent_command
102
+ assert sent_headers.include?("content-length:0"), "No content-length header was sent"
103
+ assert sent_headers.include?("destination:#{@d}"), "No destination header was sent"
104
+ assert_equal 1, @connection.stomp_connection.subscriptions.count
105
+ assert_equal({:'content-type'=>'text/plain; charset=UTF-8', :'content-length'=>'0', :destination=>@d}, @connection.stomp_connection.subscriptions[@d])
106
+ end
107
+
108
+ def test_unsubscribe
109
+ @connection.subscribe @d, {}
110
+ @connection.stomp_connection.socket.sent_messages = []
111
+ @connection.unsubscribe @d, {}
112
+ assert_equal "UNSUBSCRIBE", sent_command
113
+ assert sent_headers.include?("content-length:0"), "No content-length header was sent"
114
+ assert sent_headers.include?("destination:#{@d}"), "No destination header was sent"
115
+ assert_equal 0, @connection.stomp_connection.subscriptions.count
116
+ end
117
+
118
+ def test_send
119
+ @connection.send(@d, @message, {})
120
+ assert_equal 'SEND', sent_command
121
+ assert sent_headers.include?("content-length:#{@message.length}"), "No content-length header was sent"
122
+ assert sent_headers.include?("destination:#{@d}"), "No destination header was sent"
123
+ # assert_equal @message, @connection.stomp_connection.socket.sent_messages[5]
124
+ assert_equal @message, sent_body
125
+ end
126
+
127
+ def test_receive
128
+ m = @connection.receive
129
+ assert_equal @message, m.body
130
+ end
131
+
132
+ def test_received
133
+ m = @connection.receive
134
+ m.headers[:transaction] = 'test-transaction'
135
+ @connection.received m, {:ack=>'client'}
136
+ end
137
+
138
+ def test_unreceive
139
+ @connection = ActiveMessaging::Adapters::Stomp::Connection.new({:retryMax=>4, :deadLetterQueue=>'/queue/dlq'})
140
+ @connection.stomp_connection.receive = @message
141
+ m = @connection.receive
142
+ m.headers["a13g-retry-count"] = 5
143
+ @connection.unreceive m, {:ack=>'client'}
144
+ end
145
+
146
+ def test_unreceive_with_dlq_prefix
147
+ @connection = ActiveMessaging::Adapters::Stomp::Connection.new({:retryMax=>4, :deadLetterQueuePrefix=>'DLQ.'})
148
+ @connection.stomp_connection.receive = @message
149
+ m = @connection.receive
150
+ m.headers["a13g-retry-count"] = 5
151
+ @connection.unreceive m, {:ack=>'client', :destination=>"/queue/myqueue"}
152
+ end
153
+
154
+ def test_add_dlq_prefix
155
+ @connection = ActiveMessaging::Adapters::Stomp::Connection.new({:deadLetterQueuePrefix=>'DLQ.'})
156
+ dlq = @connection.add_dlq_prefix("/queue/myqueue")
157
+ assert_equal "/queue/DLQ.myqueue", dlq
158
+ dlq = @connection.add_dlq_prefix("/queue/something/myqueue")
159
+ assert_equal "/queue/something/DLQ.myqueue", dlq
160
+ dlq = @connection.add_dlq_prefix("/topic/myqueue")
161
+ assert_equal "/topic/DLQ.myqueue", dlq
162
+ dlq = @connection.add_dlq_prefix("myqueue")
163
+ assert_equal "DLQ.myqueue", dlq
164
+ end
165
+
166
+ end
167
+
168
+ end # if loaded
@@ -0,0 +1,36 @@
1
+ rails_environtment_file = File.expand_path(File.dirname(__FILE__) + "/../../../../config/environment")
2
+
3
+ if File.exists? rails_environtment_file
4
+ require rails_environment_file
5
+ APP_ROOT = RAILS_ROOT
6
+ APP_ENV = Rails.env
7
+ else
8
+ ENV['APP_ENV'] = 'test'
9
+ APP_ENV = 'test'
10
+ APP_ROOT = File.dirname(__FILE__) + '/app'
11
+
12
+ $: << File.expand_path(File.dirname(__FILE__) + '/../lib')
13
+ require 'rubygems'
14
+ require 'active_support/all'
15
+
16
+ module ActiveMessaging
17
+ def self.app_root
18
+ APP_ROOT
19
+ end
20
+
21
+ def self.app_env
22
+ APP_ENV
23
+ end
24
+ end
25
+
26
+ require 'activemessaging/message_sender'
27
+ require 'activemessaging/processor'
28
+ require 'activemessaging/gateway'
29
+ require 'activemessaging/filter'
30
+ require 'activemessaging/adapters/test'
31
+ end
32
+
33
+ # load other libraries
34
+ require 'test/unit'
35
+
36
+ require File.dirname(__FILE__) + '/../lib/activemessaging/test_helper'
@@ -0,0 +1,57 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+ require 'activemessaging/trace_filter'
3
+
4
+ module ActiveMessaging #:nodoc:
5
+ def self.reload_activemessaging
6
+ end
7
+ end
8
+
9
+ class TestProcessor < ActiveMessaging::Processor
10
+ def on_message message
11
+ end
12
+ end
13
+
14
+ class TestSender < ActiveMessaging::Processor
15
+ end
16
+
17
+ class FakeMessage < ActiveMessaging::BaseMessage
18
+ def initialize
19
+ super("Ni hao ma?", 1, {'destination'=>'/queue/helloWorld'}, '/queue/helloWorld')
20
+ end
21
+ end
22
+
23
+ class TracerTest < Test::Unit::TestCase
24
+ include ActiveMessaging::TestHelper
25
+
26
+ def setup
27
+ ActiveMessaging::Gateway.define do |s|
28
+ s.queue :hello_world, '/queue/helloWorld'
29
+ s.queue :trace, '/queue/trace'
30
+
31
+ s.filter :trace_filter, :queue=>:trace
32
+ end
33
+
34
+ TestProcessor.subscribes_to :hello_world
35
+ TestSender.publishes_to :hello_world
36
+ end
37
+
38
+ def teardown
39
+ ActiveMessaging::Gateway.reset
40
+ end
41
+
42
+ def test_should_trace_sent_messages
43
+ message = "Ni hao ma?"
44
+
45
+ sender = TestSender.new
46
+ sender.publish :hello_world, message
47
+
48
+ assert_message :trace, "<sent><from>TestSender</from><queue>hello_world</queue><message>#{message}</message></sent>"
49
+ assert_message :hello_world, message
50
+ end
51
+
52
+ def test_should_trace_received_messages
53
+ ActiveMessaging::Gateway.dispatch FakeMessage.new
54
+
55
+ assert_message :trace, "<received><by>TestProcessor</by><queue>hello_world</queue><message>Ni hao ma?</message></received>"
56
+ end
57
+ end
metadata ADDED
@@ -0,0 +1,202 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gz_activemessaging
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.13.1
5
+ platform: ruby
6
+ authors:
7
+ - Jon Tirsen
8
+ - Andrew Kuklewicz
9
+ - Olle Jonsson
10
+ - Sylvain Perez
11
+ - Cliff Moon
12
+ - Uwe Kubosch
13
+ - Lance Cooper
14
+ - Matt Campbell
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+ date: 2015-04-03 00:00:00.000000000 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: activesupport
22
+ requirement: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.3.11
27
+ type: :runtime
28
+ prerelease: false
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 2.3.11
34
+ - !ruby/object:Gem::Dependency
35
+ name: jeweler
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: stomp
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: appraisal
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ type: :development
70
+ prerelease: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ description: ActiveMessaging is an attempt to bring the simplicity and elegance of
77
+ rails development to the world of messaging. Messaging, (or event-driven architecture)
78
+ is widely used for enterprise integration, with frameworks such as Java's JMS, and
79
+ products such as ActiveMQ, Tibco, IBM MQSeries, etc. Now supporting Rails 3 as of
80
+ version 0.8.0.
81
+ email: activemessaging-discuss@googlegroups.com
82
+ executables: []
83
+ extensions: []
84
+ extra_rdoc_files:
85
+ - README.md
86
+ files:
87
+ - .travis.yml
88
+ - Appraisals
89
+ - Gemfile
90
+ - Gemfile.lock
91
+ - README.md
92
+ - Rakefile
93
+ - VERSION
94
+ - activemessaging.gemspec
95
+ - gemfiles/activesupport23.gemfile
96
+ - gemfiles/activesupport23.gemfile.lock
97
+ - gemfiles/activesupport30.gemfile
98
+ - gemfiles/activesupport30.gemfile.lock
99
+ - gemfiles/activesupport31.gemfile
100
+ - gemfiles/activesupport31.gemfile.lock
101
+ - gemfiles/activesupport32.gemfile
102
+ - gemfiles/activesupport32.gemfile.lock
103
+ - generators/a13g_test_harness/a13g_test_harness_generator.rb
104
+ - generators/a13g_test_harness/templates/active_messaging_test.rhtml
105
+ - generators/a13g_test_harness/templates/active_messaging_test_controller.rb
106
+ - generators/a13g_test_harness/templates/index.rhtml
107
+ - generators/filter/USAGE
108
+ - generators/filter/filter_generator.rb
109
+ - generators/filter/templates/filter.rb
110
+ - generators/filter/templates/filter_test.rb
111
+ - generators/processor/USAGE
112
+ - generators/processor/processor_generator.rb
113
+ - generators/processor/templates/application_processor.rb
114
+ - generators/processor/templates/broker.yml
115
+ - generators/processor/templates/jruby_poller
116
+ - generators/processor/templates/messaging.rb
117
+ - generators/processor/templates/poller
118
+ - generators/processor/templates/poller.rb
119
+ - generators/processor/templates/processor.rb
120
+ - generators/processor/templates/processor_test.rb
121
+ - generators/tracer/USAGE
122
+ - generators/tracer/templates/controller.rb
123
+ - generators/tracer/templates/helper.rb
124
+ - generators/tracer/templates/index.rhtml
125
+ - generators/tracer/templates/layout.rhtml
126
+ - generators/tracer/templates/trace_processor.rb
127
+ - generators/tracer/tracer_generator.rb
128
+ - init.rb
129
+ - lib/activemessaging.rb
130
+ - lib/activemessaging/adapter.rb
131
+ - lib/activemessaging/adapters/amqp.rb
132
+ - lib/activemessaging/adapters/asqs.rb
133
+ - lib/activemessaging/adapters/base.rb
134
+ - lib/activemessaging/adapters/beanstalk.rb
135
+ - lib/activemessaging/adapters/jms.rb
136
+ - lib/activemessaging/adapters/reliable_msg.rb
137
+ - lib/activemessaging/adapters/stomp.rb
138
+ - lib/activemessaging/adapters/synch.rb
139
+ - lib/activemessaging/adapters/test.rb
140
+ - lib/activemessaging/adapters/wmq.rb
141
+ - lib/activemessaging/base_message.rb
142
+ - lib/activemessaging/filter.rb
143
+ - lib/activemessaging/gateway.rb
144
+ - lib/activemessaging/message_sender.rb
145
+ - lib/activemessaging/named_base.rb
146
+ - lib/activemessaging/processor.rb
147
+ - lib/activemessaging/railtie.rb
148
+ - lib/activemessaging/test_helper.rb
149
+ - lib/activemessaging/threaded_poller.rb
150
+ - lib/activemessaging/trace_filter.rb
151
+ - lib/generators/active_messaging/install/USAGE
152
+ - lib/generators/active_messaging/install/install_generator.rb
153
+ - lib/generators/active_messaging/install/templates/application_processor.rb
154
+ - lib/generators/active_messaging/install/templates/broker.yml
155
+ - lib/generators/active_messaging/install/templates/poller
156
+ - lib/generators/active_messaging/install/templates/poller.rb
157
+ - lib/generators/active_messaging/install/templates/threaded_poller
158
+ - lib/generators/active_messaging/processor/USAGE
159
+ - lib/generators/active_messaging/processor/processor_generator.rb
160
+ - lib/generators/active_messaging/processor/templates/messaging.rb
161
+ - lib/generators/active_messaging/processor/templates/processor.rb
162
+ - lib/generators/active_messaging/processor/templates/processor_spec.rb
163
+ - lib/generators/active_messaging/processor/templates/processor_test.rb
164
+ - lib/tasks/start_consumers.rake
165
+ - poller.rb
166
+ - test/all_tests.rb
167
+ - test/app/config/broker.yml
168
+ - test/asqs_test.rb
169
+ - test/config_test.rb
170
+ - test/filter_test.rb
171
+ - test/gateway_test.rb
172
+ - test/jms_test.rb
173
+ - test/reliable_msg_test.rb
174
+ - test/stomp_test.rb
175
+ - test/test_helper.rb
176
+ - test/tracer_test.rb
177
+ homepage: http://github.com/kookster/activemessaging
178
+ licenses: []
179
+ metadata: {}
180
+ post_install_message:
181
+ rdoc_options: []
182
+ require_paths:
183
+ - lib
184
+ required_ruby_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ! '>='
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ required_rubygems_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - ! '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ requirements: []
195
+ rubyforge_project:
196
+ rubygems_version: 2.4.5
197
+ signing_key:
198
+ specification_version: 4
199
+ summary: Official activemessaging gem, now hosted on github.com/kookster. (kookster
200
+ prefix temporary)
201
+ test_files: []
202
+ has_rdoc: