beetle 0.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 (46) hide show
  1. data/.gitignore +5 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +82 -0
  4. data/Rakefile +114 -0
  5. data/TODO +7 -0
  6. data/beetle.gemspec +127 -0
  7. data/etc/redis-master.conf +189 -0
  8. data/etc/redis-slave.conf +189 -0
  9. data/examples/README.rdoc +14 -0
  10. data/examples/attempts.rb +66 -0
  11. data/examples/handler_class.rb +64 -0
  12. data/examples/handling_exceptions.rb +73 -0
  13. data/examples/multiple_exchanges.rb +48 -0
  14. data/examples/multiple_queues.rb +43 -0
  15. data/examples/redis_failover.rb +65 -0
  16. data/examples/redundant.rb +65 -0
  17. data/examples/rpc.rb +45 -0
  18. data/examples/simple.rb +39 -0
  19. data/lib/beetle.rb +57 -0
  20. data/lib/beetle/base.rb +78 -0
  21. data/lib/beetle/client.rb +252 -0
  22. data/lib/beetle/configuration.rb +31 -0
  23. data/lib/beetle/deduplication_store.rb +152 -0
  24. data/lib/beetle/handler.rb +95 -0
  25. data/lib/beetle/message.rb +336 -0
  26. data/lib/beetle/publisher.rb +187 -0
  27. data/lib/beetle/r_c.rb +40 -0
  28. data/lib/beetle/subscriber.rb +144 -0
  29. data/script/start_rabbit +29 -0
  30. data/snafu.rb +55 -0
  31. data/test/beetle.yml +81 -0
  32. data/test/beetle/base_test.rb +52 -0
  33. data/test/beetle/bla.rb +0 -0
  34. data/test/beetle/client_test.rb +305 -0
  35. data/test/beetle/configuration_test.rb +5 -0
  36. data/test/beetle/deduplication_store_test.rb +90 -0
  37. data/test/beetle/handler_test.rb +105 -0
  38. data/test/beetle/message_test.rb +744 -0
  39. data/test/beetle/publisher_test.rb +407 -0
  40. data/test/beetle/r_c_test.rb +9 -0
  41. data/test/beetle/subscriber_test.rb +263 -0
  42. data/test/beetle_test.rb +5 -0
  43. data/test/test_helper.rb +20 -0
  44. data/tmp/master/.gitignore +2 -0
  45. data/tmp/slave/.gitignore +3 -0
  46. metadata +192 -0
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/test_helper')
2
+
3
+
4
+ module Beetle
5
+ end
@@ -0,0 +1,20 @@
1
+ require 'rubygems'
2
+ require 'active_support'
3
+ require 'active_support/testing/declarative'
4
+ require 'test/unit'
5
+ require 'redgreen' unless ENV['TM_FILENAME'] rescue nil
6
+ require 'mocha'
7
+ require File.expand_path(File.dirname(__FILE__) + '/../lib/beetle')
8
+
9
+ class Test::Unit::TestCase
10
+ extend ActiveSupport::Testing::Declarative
11
+ end
12
+
13
+ Beetle.config.logger = Logger.new(File.dirname(__FILE__) + '/../test.log')
14
+
15
+ def header_with_params(opts = {})
16
+ beetle_headers = Beetle::Message.publishing_options(opts)
17
+ header = mock("header")
18
+ header.stubs(:properties).returns(beetle_headers)
19
+ header
20
+ end
@@ -0,0 +1,2 @@
1
+ *.rdb
2
+ appendonly.aof
@@ -0,0 +1,3 @@
1
+ *.rdb
2
+ appendonly.aof
3
+
metadata ADDED
@@ -0,0 +1,192 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: beetle
3
+ version: !ruby/object:Gem::Version
4
+ version: "0.1"
5
+ platform: ruby
6
+ authors:
7
+ - Stefan Kaes
8
+ - Pascal Friederich
9
+ - Ali Jelveh
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2010-04-14 00:00:00 +02:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: uuid4r
19
+ type: :runtime
20
+ version_requirement:
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: 0.1.1
26
+ version:
27
+ - !ruby/object:Gem::Dependency
28
+ name: bunny
29
+ type: :runtime
30
+ version_requirement:
31
+ version_requirements: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ">="
34
+ - !ruby/object:Gem::Version
35
+ version: 0.6.0
36
+ version:
37
+ - !ruby/object:Gem::Dependency
38
+ name: redis
39
+ type: :runtime
40
+ version_requirement:
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.1.2
46
+ version:
47
+ - !ruby/object:Gem::Dependency
48
+ name: amqp
49
+ type: :runtime
50
+ version_requirement:
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.6.7
56
+ version:
57
+ - !ruby/object:Gem::Dependency
58
+ name: activesupport
59
+ type: :runtime
60
+ version_requirement:
61
+ version_requirements: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 2.3.4
66
+ version:
67
+ - !ruby/object:Gem::Dependency
68
+ name: mocha
69
+ type: :development
70
+ version_requirement:
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: "0"
76
+ version:
77
+ - !ruby/object:Gem::Dependency
78
+ name: rcov
79
+ type: :development
80
+ version_requirement:
81
+ version_requirements: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - ">="
84
+ - !ruby/object:Gem::Version
85
+ version: "0"
86
+ version:
87
+ description: A highly available, reliable messaging infrastructure
88
+ email: developers@xing.com
89
+ executables: []
90
+
91
+ extensions: []
92
+
93
+ extra_rdoc_files:
94
+ - README.rdoc
95
+ - TODO
96
+ files:
97
+ - .gitignore
98
+ - MIT-LICENSE
99
+ - README.rdoc
100
+ - Rakefile
101
+ - TODO
102
+ - beetle.gemspec
103
+ - doc/redundant_queues.graffle
104
+ - etc/redis-master.conf
105
+ - etc/redis-slave.conf
106
+ - examples/README.rdoc
107
+ - examples/attempts.rb
108
+ - examples/handler_class.rb
109
+ - examples/handling_exceptions.rb
110
+ - examples/multiple_exchanges.rb
111
+ - examples/multiple_queues.rb
112
+ - examples/redis_failover.rb
113
+ - examples/redundant.rb
114
+ - examples/rpc.rb
115
+ - examples/simple.rb
116
+ - lib/beetle.rb
117
+ - lib/beetle/base.rb
118
+ - lib/beetle/client.rb
119
+ - lib/beetle/configuration.rb
120
+ - lib/beetle/deduplication_store.rb
121
+ - lib/beetle/handler.rb
122
+ - lib/beetle/message.rb
123
+ - lib/beetle/publisher.rb
124
+ - lib/beetle/r_c.rb
125
+ - lib/beetle/subscriber.rb
126
+ - script/start_rabbit
127
+ - snafu.rb
128
+ - test/beetle.yml
129
+ - test/beetle/base_test.rb
130
+ - test/beetle/bla.rb
131
+ - test/beetle/client_test.rb
132
+ - test/beetle/configuration_test.rb
133
+ - test/beetle/deduplication_store_test.rb
134
+ - test/beetle/handler_test.rb
135
+ - test/beetle/message_test.rb
136
+ - test/beetle/publisher_test.rb
137
+ - test/beetle/r_c_test.rb
138
+ - test/beetle/subscriber_test.rb
139
+ - test/beetle_test.rb
140
+ - test/test_helper.rb
141
+ - tmp/master/.gitignore
142
+ - tmp/slave/.gitignore
143
+ has_rdoc: true
144
+ homepage: http://xing.github.com/beetle/
145
+ licenses: []
146
+
147
+ post_install_message:
148
+ rdoc_options:
149
+ - --charset=UTF-8
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: "0"
157
+ version:
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: "0"
163
+ version:
164
+ requirements: []
165
+
166
+ rubyforge_project:
167
+ rubygems_version: 1.3.5
168
+ signing_key:
169
+ specification_version: 3
170
+ summary: High Availability AMQP Messaging with Redundant Queues
171
+ test_files:
172
+ - test/beetle/base_test.rb
173
+ - test/beetle/bla.rb
174
+ - test/beetle/client_test.rb
175
+ - test/beetle/configuration_test.rb
176
+ - test/beetle/deduplication_store_test.rb
177
+ - test/beetle/handler_test.rb
178
+ - test/beetle/message_test.rb
179
+ - test/beetle/publisher_test.rb
180
+ - test/beetle/r_c_test.rb
181
+ - test/beetle/subscriber_test.rb
182
+ - test/beetle_test.rb
183
+ - test/test_helper.rb
184
+ - examples/attempts.rb
185
+ - examples/handler_class.rb
186
+ - examples/handling_exceptions.rb
187
+ - examples/multiple_exchanges.rb
188
+ - examples/multiple_queues.rb
189
+ - examples/redis_failover.rb
190
+ - examples/redundant.rb
191
+ - examples/rpc.rb
192
+ - examples/simple.rb