right_amqp 0.8.5 → 0.8.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/README.rdoc CHANGED
@@ -1,3 +1,5 @@
1
+ "master" branch: {<img src="https://travis-ci.org/rightscale/right_amqp.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/rightscale/right_amqp]
2
+
1
3
  = RightAMQP
2
4
 
3
5
  = DESCRIPTION
data/Rakefile CHANGED
@@ -25,12 +25,20 @@ require 'rubygems'
25
25
  require 'bundler/setup'
26
26
 
27
27
  require 'rake'
28
- require 'rdoc/task'
29
28
  require 'rubygems/package_task'
30
29
  require 'rake/clean'
31
30
  require 'rspec/core/rake_task'
32
31
  require 'bacon'
33
32
 
33
+ # These dependencies can be omitted using "bundle install --without"; tolerate their absence.
34
+ ['rdoc/task'].each do |optional|
35
+ begin
36
+ require optional
37
+ rescue LoadError
38
+ # ignore
39
+ end
40
+ end
41
+
34
42
  desc "Run unit tests"
35
43
  task :default => 'spec'
36
44
 
@@ -52,19 +60,24 @@ namespace :spec do
52
60
  end
53
61
  end
54
62
 
55
- desc 'Generate documentation for the right_amqp gem'
56
- Rake::RDocTask.new(:rdoc) do |rdoc|
57
- rdoc.rdoc_dir = 'doc/rdocs'
58
- rdoc.title = 'RightAMQP'
59
- rdoc.options << '--line-numbers' << '--inline-source'
60
- rdoc.rdoc_files.include('README.rdoc')
61
- rdoc.rdoc_files.include('lib/**/*.rb')
63
+ if defined?(Rake::RDocTask)
64
+ desc 'Generate documentation for the right_amqp gem'
65
+ Rake::RDocTask.new(:rdoc) do |rdoc|
66
+ rdoc.rdoc_dir = 'doc/rdocs'
67
+ rdoc.title = 'RightAMQP'
68
+ rdoc.options << '--line-numbers' << '--inline-source'
69
+ rdoc.rdoc_files.include('README.rdoc')
70
+ rdoc.rdoc_files.include('lib/**/*.rb')
71
+ end
62
72
  end
63
73
  CLEAN.include('doc/rdocs')
64
74
 
65
75
  desc "Build right_amqp gem"
66
- Gem::PackageTask.new(Gem::Specification.load("right_amqp.gemspec")) do |package|
67
- package.need_zip = true
68
- package.need_tar = true
76
+ Gem::PackageTask.new(Gem::Specification.load("right_amqp.gemspec")) do |pkg|
77
+ pkg.need_zip = true
78
+ pkg.need_tar = true
69
79
  end
70
80
  CLEAN.include('pkg')
81
+
82
+ require 'right_develop'
83
+ RightDevelop::CI::RakeTask.new
@@ -26,8 +26,11 @@ module AMQP
26
26
  'en_US')
27
27
 
28
28
  when Protocol::Connection::Tune
29
+ # Use frame_max received from broker so that adapt properly to RabbitMQ 2.4.1
30
+ # expecting 131,072 and RabbitMQ 3.4.1 that is configured to 0 meaning unlimited
31
+ # because it will otherwise reject requests larger than this and fail the connection
29
32
  send Protocol::Connection::TuneOk.new(:channel_max => 0,
30
- :frame_max => 131072,
33
+ :frame_max => method.frame_max,
31
34
  :heartbeat => @settings[:heartbeat] || 0)
32
35
 
33
36
  send Protocol::Connection::Open.new(:virtual_host => @settings[:vhost],
@@ -99,7 +99,7 @@ module RightAMQP
99
99
  # :prefetch(Integer):: Maximum number of messages the AMQP broker is to prefetch for the agent
100
100
  # before it receives an ack. Value 1 ensures that only last unacknowledged gets redelivered
101
101
  # if the agent crashes. Value 0 means unlimited prefetch.
102
- # :fiber_pool(NB::FiberPool):: Pool of initialized fibers to be used for asynchronous message
102
+ # :fiber_pool(FiberPool):: Pool of initialized fibers to be used for asynchronous message
103
103
  # processing (can be overridden with subscribe option)
104
104
  # :exception_on_receive_callback(Proc):: Callback activated on a receive exception with parameters
105
105
  # message(Object):: Message received
@@ -216,7 +216,7 @@ module RightAMQP
216
216
  # :no_log(Boolean):: Disable receive logging unless debug level
217
217
  # :exchange2(Hash):: Additional exchange to which same queue is to be bound
218
218
  # :brokers(Array):: Identity of brokers for which to subscribe, defaults to all usable if nil or empty
219
- # :fiber_pool(NB::FiberPool):: Pool of initialized fibers to be used for asynchronous message
219
+ # :fiber_pool(FiberPool):: Pool of initialized fibers to be used for asynchronous message
220
220
  # processing (non-nil value will override constructor option setting)
221
221
  #
222
222
  # === Block
@@ -416,7 +416,7 @@ module RightAMQP
416
416
  false
417
417
  end
418
418
  end
419
- 3
419
+
420
420
  # Delete queue
421
421
  #
422
422
  # === Parameters
@@ -438,7 +438,7 @@ module RightAMQP
438
438
  unless deleted
439
439
  # Allowing declare to happen since queue may not exist and do not want NOT_FOUND
440
440
  # failure to cause AMQP channel to close
441
- @channel.queue(name, options).delete
441
+ @channel.queue(name, options.merge(:no_declare => true)).delete
442
442
  deleted = true
443
443
  end
444
444
  rescue StandardError => e
data/right_amqp.gemspec CHANGED
@@ -24,8 +24,8 @@ require 'rubygems'
24
24
 
25
25
  Gem::Specification.new do |spec|
26
26
  spec.name = 'right_amqp'
27
- spec.version = '0.8.5'
28
- spec.date = '2014-10-02'
27
+ spec.version = '0.8.6'
28
+ spec.date = '2014-11-12'
29
29
  spec.authors = ['Lee Kirchhoff']
30
30
  spec.email = 'lee@rightscale.com'
31
31
  spec.homepage = 'https://github.com/rightscale/right_amqp'
@@ -898,11 +898,23 @@ describe RightAMQP::BrokerClient do
898
898
  @queue.should_receive(:delete).once
899
899
  broker = RightAMQP::BrokerClient.new(@identity, @address, @serializer, @exceptions, @non_deliveries, @options)
900
900
  broker.subscribe({:name => "queue1"}, {:type => :direct, :name => "exchange"}) {|_, _|}
901
+ @channel.should_receive(:queue).with("queue1", on { |arg| arg[:no_declare] }).and_return(@queue).once
901
902
  broker.queues.should == [@queue]
902
903
  broker.delete("queue1").should be_true
903
904
  broker.queues.should == []
904
905
  end
905
906
 
907
+ it "should delete the named queue even if not it is not a currently open queue" do
908
+ queue2 = flexmock("queue2", :bind => @bind, :name => "queue2")
909
+ queue2.should_receive(:delete).once
910
+ broker = RightAMQP::BrokerClient.new(@identity, @address, @serializer, @exceptions, @non_deliveries, @options)
911
+ broker.subscribe({:name => "queue1"}, {:type => :direct, :name => "exchange"}) {|_, _|}
912
+ @channel.should_receive(:queue).with("queue2", on { |arg| arg[:no_declare] }).and_return(queue2).once
913
+ broker.queues.should == [@queue]
914
+ broker.delete("queue2").should be_true
915
+ broker.queues.should == [@queue]
916
+ end
917
+
906
918
  it "should return false if the client is not usable" do
907
919
  @queue.should_receive(:delete).never
908
920
  broker = RightAMQP::BrokerClient.new(@identity, @address, @serializer, @exceptions, @non_deliveries, @options)
data/spec/spec_helper.rb CHANGED
@@ -23,8 +23,9 @@
23
23
  require 'rubygems'
24
24
  require 'bundler/setup'
25
25
 
26
- require 'flexmock'
27
26
  require 'rspec'
27
+ require 'flexmock'
28
+ require 'simplecov'
28
29
 
29
30
  RSpec.configure do |c|
30
31
  c.mock_with(:flexmock)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: right_amqp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.5
4
+ version: 0.8.6
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: 2014-10-02 00:00:00.000000000Z
12
+ date: 2014-11-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: right_support
16
- requirement: &2160810180 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -24,10 +24,18 @@ dependencies:
24
24
  version: '3.0'
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *2160810180
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '1.2'
33
+ - - <
34
+ - !ruby/object:Gem::Version
35
+ version: '3.0'
28
36
  - !ruby/object:Gem::Dependency
29
37
  name: eventmachine
30
- requirement: &2160809020 !ruby/object:Gem::Requirement
38
+ requirement: !ruby/object:Gem::Requirement
31
39
  none: false
32
40
  requirements:
33
41
  - - ! '>='
@@ -38,7 +46,15 @@ dependencies:
38
46
  version: '2.0'
39
47
  type: :runtime
40
48
  prerelease: false
41
- version_requirements: *2160809020
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.12.10
55
+ - - <
56
+ - !ruby/object:Gem::Version
57
+ version: '2.0'
42
58
  description: ! 'RightAMQP provides a high availability client for interfacing with
43
59
  the
44
60
 
@@ -120,10 +136,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
136
  version: '0'
121
137
  segments:
122
138
  - 0
123
- hash: 1112736972796387367
139
+ hash: -4034513993207482869
124
140
  requirements: []
125
141
  rubyforge_project:
126
- rubygems_version: 1.8.10
142
+ rubygems_version: 1.8.26
127
143
  signing_key:
128
144
  specification_version: 3
129
145
  summary: Client for interfacing to RightScale RabbitMQ broker using AMQP