beetle 0.2.9.5 → 0.2.9.6

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.
data/beetle.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "beetle"
3
- s.version = "0.2.9.5"
3
+ s.version = "0.2.9.6"
4
4
 
5
5
  s.required_rubygems_version = ">= 1.3.1"
6
6
  s.authors = ["Stefan Kaes", "Pascal Friederich", "Ali Jelveh", "Sebastian Roebke"]
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'fileutils'
3
3
  require 'erb'
4
4
  require 'redis'
5
- require 'lib/beetle/redis_ext'
5
+ require File.expand_path('../../../../lib/beetle/redis_ext', __FILE__)
6
6
  require 'daemon_controller'
7
7
 
8
8
  module TestDaemons
data/lib/beetle/client.rb CHANGED
@@ -119,7 +119,8 @@ module Beetle
119
119
  raise ConfigurationError.new("message #{name} already configured") if messages.include?(name)
120
120
  opts = {:exchange => name, :key => name}.merge!(options.symbolize_keys)
121
121
  opts.merge! :persistent => true
122
- opts[:exchange] = opts[:exchange].to_s
122
+ exchange = opts[:exchange] = opts[:exchange].to_s
123
+ register_exchange(exchange) unless exchanges.include?(exchange)
123
124
  messages[name] = opts
124
125
  end
125
126
 
@@ -116,6 +116,19 @@ module Beetle
116
116
  assert_raises(ConfigurationError){ @client.register_message("some_message", opts) }
117
117
  end
118
118
 
119
+ test "registering a message should register a corresponding exchange if it hasn't been registered yet" do
120
+ opts = { "exchange" => "some_exchange" }
121
+ @client.register_message("some_message", opts)
122
+ assert_equal({:durable => true, :type => :topic}, @client.exchanges["some_exchange"])
123
+ end
124
+
125
+ test "registering a message should not fail if the exchange has already been registered" do
126
+ opts = { "exchange" => "some_exchange" }
127
+ @client.register_exchange("some_exchange")
128
+ @client.register_message("some_message", opts)
129
+ assert_equal({:durable => true, :type => :topic}, @client.exchanges["some_exchange"])
130
+ end
131
+
119
132
  test "should convert message name to a string when registering a message" do
120
133
  @client.register_message(:some_message)
121
134
  assert(@client.messages.include?("some_message"))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beetle
3
3
  version: !ruby/object:Gem::Version
4
- hash: 113
4
+ hash: 119
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
9
  - 9
10
- - 5
11
- version: 0.2.9.5
10
+ - 6
11
+ version: 0.2.9.6
12
12
  platform: ruby
13
13
  authors:
14
14
  - Stefan Kaes
@@ -19,7 +19,7 @@ autorequire:
19
19
  bindir: bin
20
20
  cert_chain: []
21
21
 
22
- date: 2010-11-30 00:00:00 +01:00
22
+ date: 2010-12-01 00:00:00 +01:00
23
23
  default_executable: beetle
24
24
  dependencies:
25
25
  - !ruby/object:Gem::Dependency