rmq 0.0.3 → 0.0.4

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.
@@ -776,6 +776,7 @@ module RMQ
776
776
  def decode_reason_code(reason_code)
777
777
  reason_codes = {
778
778
  0 => :MQRC_NONE,
779
+ 2002 => :MQRC_ALREADY_CONNECTED,
779
780
  2019 => :MQRC_HOBJ_ERROR,
780
781
  2033 => :MQRC_NO_MSG_AVAILABLE,
781
782
  2037 => :MQRC_NOT_OPEN_FOR_INPUT,
@@ -22,6 +22,7 @@ module RMQ
22
22
  :Persistence, :long,
23
23
  :MsgId, [:char, 24],
24
24
  :CorrelId, [:char, 24],
25
+ :BackoutCount, :long,
25
26
  :ReplyToQ, [:char, 48],
26
27
  :ReplyToQMgr, [:char, 48],
27
28
  :UserIdentifier, [:char, 12],
@@ -210,7 +210,7 @@ module RMQ
210
210
  raise RMQException.new(completion_code_ptr.read_long, reason_code_ptr.read_long), "Cannot close queue" if completion_code_ptr.read_long != MQCC_OK
211
211
  end
212
212
 
213
- def put_message_on_queue(connection_handle, queue_handle, payload)
213
+ def put_message_on_queue(connection_handle, queue_handle, payload, reply_queue_name = "")
214
214
  message_options = MQClient::PutMessageOptions.new
215
215
  message_options[:StrucId] = MQClient::PutMessageOptions::MQPMO_STRUC_ID
216
216
  message_options[:Version] = MQClient::PutMessageOptions::MQPMO_VERSION_1
@@ -223,7 +223,7 @@ module RMQ
223
223
  message_descriptor[:MsgType] = MQClient::MessageDescriptor::MQMT_DATAGRAM
224
224
  message_descriptor[:Priority] = 1
225
225
  message_descriptor[:Persistence] = MQClient::MessageDescriptor::MQPER_PERSISTENT
226
- message_descriptor[:ReplyToQ] = ""
226
+ message_descriptor[:ReplyToQ] = reply_queue_name
227
227
 
228
228
  completion_code_ptr = FFI::MemoryPointer.new :long
229
229
  reason_code_ptr = FFI::MemoryPointer.new :long
@@ -9,10 +9,10 @@ module RMQ
9
9
  @queue_name = name
10
10
  end
11
11
 
12
- def put_message(payload)
12
+ def put_message(payload, reply_queue_name = "")
13
13
  @queue_handle = open_queue(@queue_manager.connection_handle, @queue_name, Constants::MQOO_OUTPUT) if @queue_handle.nil?
14
14
 
15
- put_message_on_queue(@queue_manager.connection_handle, @queue_handle, payload)
15
+ put_message_on_queue(@queue_manager.connection_handle, @queue_handle, payload, reply_queue_name)
16
16
 
17
17
  close_queue(@queue_manager.connection_handle, @queue_handle, Constants::MQCO_NONE)
18
18
  @queue_handle = nil
@@ -19,6 +19,8 @@ module RMQ
19
19
  end
20
20
 
21
21
  def connect
22
+ raise "Please set MQSERVER environment variable before trying to connect to a queue manager" if ENV['MQSERVER'].empty?
23
+
22
24
  hconn_ptr = FFI::MemoryPointer.new :long
23
25
  completion_code_ptr = FFI::MemoryPointer.new :long
24
26
  reason_code_ptr = FFI::MemoryPointer.new :long
@@ -1,3 +1,3 @@
1
1
  module RMQ
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -19,6 +19,12 @@ describe RMQ::QueueManager do
19
19
  lambda { RMQ::QueueManager::connect("INVALID_NAME") }.should raise_error(RMQ::RMQException)
20
20
  end
21
21
 
22
+ it "should warn about missing MQSERVER environment variable" do
23
+ ENV['MQSERVER'] = ""
24
+
25
+ lambda { RMQ::QueueManager::connect(SpecHelper::DATA[:queue_manager]) }.should raise_error(RuntimeError)
26
+ end
27
+
22
28
  it "should create a new queue" do
23
29
  @qm = RMQ::QueueManager::connect(SpecHelper::DATA[:queue_manager])
24
30
  queue = @qm.create_queue("RMQ.SAMPLE")
@@ -24,4 +24,8 @@ describe RMQ::Queue do
24
24
  @queue.get_message.should == "I want to read this back"
25
25
  end
26
26
 
27
+ it "should put a message on a queue and use a reply queue name" do
28
+
29
+ end
30
+
27
31
  end
@@ -1,7 +1,7 @@
1
1
  require 'rspec'
2
2
  require 'rmq'
3
3
 
4
- ENV['MQSERVER'] = "SYSTEM.DEF.SVRCONN/TCP/127.0.0.1(1414)"
4
+ MQSERVER = "SYSTEM.DEF.SVRCONN/TCP/127.0.0.1(1414)"
5
5
 
6
6
  module SpecHelper
7
7
  DATA = {
@@ -12,4 +12,8 @@ end
12
12
  RSpec.configure do |config|
13
13
  config.color_enabled = true
14
14
  config.formatter = 'documentation'
15
+
16
+ config.before(:each) do
17
+ ENV['MQSERVER'] = MQSERVER
18
+ end
15
19
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &22394232 !ruby/object:Gem::Requirement
16
+ requirement: &21388056 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.7'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *22394232
24
+ version_requirements: *21388056
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: ffi
27
- requirement: &22393944 !ruby/object:Gem::Requirement
27
+ requirement: &21387768 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *22393944
35
+ version_requirements: *21387768
36
36
  description: Ruby wrapper around MQ series client library
37
37
  email: sns@caimito.net
38
38
  executables: []