beetle 0.1

Sign up to get free protection for your applications and to get access to all the features.
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