ragnar 0.2.0 → 0.2.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.
- data/.gitignore +1 -0
- data/lib/ragnar/connector.rb +3 -3
- data/lib/ragnar/exchange.rb +2 -2
- data/lib/ragnar/version.rb +1 -1
- data/ragnar.gemspec +1 -0
- data/spec/lib/ragnar/connector_spec.rb +29 -0
- data/spec/spec_helper.rb +2 -2
- metadata +21 -10
data/.gitignore
CHANGED
data/lib/ragnar/connector.rb
CHANGED
@@ -14,9 +14,9 @@ module Ragnar
|
|
14
14
|
# Pass connection options through to AMQP
|
15
15
|
def connect
|
16
16
|
# backwards compatible code
|
17
|
-
|
18
|
-
|
19
|
-
@connection = AMQP.connect({:host => @host, :port => @port})
|
17
|
+
@host ||= ::Ragnar::Config.host
|
18
|
+
@port ||= ::Ragnar::Config.port
|
19
|
+
@connection = ::AMQP.connect({:host => @host, :port => @port})
|
20
20
|
end
|
21
21
|
|
22
22
|
def connected?
|
data/lib/ragnar/exchange.rb
CHANGED
@@ -16,7 +16,7 @@ module Ragnar
|
|
16
16
|
channel = AMQP::Channel.new(connection)
|
17
17
|
exchange = channel.__send__(@type, @name, @options)
|
18
18
|
|
19
|
-
channel.queue(@name).bind(exchange, opts.merge(routing_key
|
19
|
+
channel.queue(@name).bind(exchange, opts.merge(:routing_key => routing_key))
|
20
20
|
exchange.publish(message, opts.merge(:routing_key => routing_key))
|
21
21
|
end
|
22
22
|
end
|
@@ -50,4 +50,4 @@ module Ragnar
|
|
50
50
|
|
51
51
|
|
52
52
|
end
|
53
|
-
end
|
53
|
+
end
|
data/lib/ragnar/version.rb
CHANGED
data/ragnar.gemspec
CHANGED
@@ -5,6 +5,9 @@ describe Ragnar::Connector do
|
|
5
5
|
include EventedSpec::SpecHelper
|
6
6
|
include EventedSpec::AMQPSpec
|
7
7
|
|
8
|
+
before(:all) { EM.stop_event_loop; sleep(0.3) }
|
9
|
+
after(:all) { Thread.new { EM.run }; Thread.pass until EM.reactor_running? }
|
10
|
+
|
8
11
|
before(:each) do
|
9
12
|
Ragnar::Connector.connection = nil
|
10
13
|
end
|
@@ -13,6 +16,7 @@ describe Ragnar::Connector do
|
|
13
16
|
|
14
17
|
context 'new configuration methods' do
|
15
18
|
it 'can set host and port and have a connection' do
|
19
|
+
AMQP.stub(:connect)
|
16
20
|
AMQP.should_receive(:connect).with({:host => Ragnar::Config.host, :port => Ragnar::Config.port})
|
17
21
|
Ragnar::Connector.connect
|
18
22
|
done
|
@@ -26,6 +30,7 @@ describe Ragnar::Connector do
|
|
26
30
|
end
|
27
31
|
|
28
32
|
it 'can set host and port and have a connection' do
|
33
|
+
AMQP.stub(:connect)
|
29
34
|
host = 'test.md.com'
|
30
35
|
port = '5763'
|
31
36
|
|
@@ -34,10 +39,32 @@ describe Ragnar::Connector do
|
|
34
39
|
|
35
40
|
AMQP.should_receive(:connect).with({host: host, port: port})
|
36
41
|
Ragnar::Connector.connect
|
42
|
+
done
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'new configuration methods' do
|
47
|
+
it 'can set host and port and have a connection' do
|
48
|
+
AMQP.stub(:connect)
|
49
|
+
host = 'test2.md.com'
|
50
|
+
port = '5763'
|
51
|
+
|
52
|
+
Ragnar::Connector.host = nil
|
53
|
+
Ragnar::Connector.port = nil
|
54
|
+
|
55
|
+
Ragnar::Config.configure do |c|
|
56
|
+
c.host = host
|
57
|
+
c.port = port
|
58
|
+
end
|
59
|
+
|
60
|
+
AMQP.should_receive(:connect).with({host: host, port: port})
|
61
|
+
Ragnar::Connector.connect
|
62
|
+
done
|
37
63
|
end
|
38
64
|
end
|
39
65
|
|
40
66
|
it 'uses the existing reactor if it already exists' do
|
67
|
+
AMQP.stub(:connect)
|
41
68
|
em do
|
42
69
|
EM.should_not_receive(:run)
|
43
70
|
Ragnar::Connector.connect
|
@@ -50,6 +77,7 @@ describe Ragnar::Connector do
|
|
50
77
|
describe '.connection' do
|
51
78
|
|
52
79
|
it 'stores the connection' do
|
80
|
+
AMQP.stub(:connect).and_return(double("connection", :connected? => true))
|
53
81
|
Ragnar::Connector.connect
|
54
82
|
delayed(0.3) {
|
55
83
|
Ragnar::Connector.connection.should be_connected
|
@@ -67,6 +95,7 @@ describe Ragnar::Connector do
|
|
67
95
|
|
68
96
|
describe '.connected?' do
|
69
97
|
it 'relays connection state' do
|
98
|
+
AMQP.stub(:connect).and_return(double("connection", :connected? => true))
|
70
99
|
Ragnar::Connector.connected?.should be_false
|
71
100
|
Ragnar::Connector.connect
|
72
101
|
delayed(0.3) {
|
data/spec/spec_helper.rb
CHANGED
@@ -6,7 +6,7 @@ require 'eventmachine'
|
|
6
6
|
|
7
7
|
unless EM.reactor_running?
|
8
8
|
Thread.new { EventMachine.run }
|
9
|
-
|
9
|
+
Thread.pass until EM.reactor_running?
|
10
10
|
end
|
11
11
|
|
12
|
-
$: << File.expand_path('../lib', File.dirname(__FILE__))
|
12
|
+
$: << File.expand_path('../lib', File.dirname(__FILE__))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ragnar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-30 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: amqp
|
16
|
-
requirement: &
|
16
|
+
requirement: &2157572600 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.7.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2157572600
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bunny
|
27
|
-
requirement: &
|
27
|
+
requirement: &2157572160 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2157572160
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rspec
|
38
|
-
requirement: &
|
38
|
+
requirement: &2157571700 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2157571700
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: evented-spec
|
49
|
-
requirement: &
|
49
|
+
requirement: &2157571200 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,18 @@ dependencies:
|
|
54
54
|
version: 0.4.1
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2157571200
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: pry
|
60
|
+
requirement: &2157570780 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *2157570780
|
58
69
|
description: Provide top-level pub/sub methods with RabbitMQ (AMQP) for interacting
|
59
70
|
with a larger service ecosystem
|
60
71
|
email:
|