stomp 1.1.6 → 1.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,9 @@
1
- == ?
1
+ == 1.1.7 2010-09-01
2
+
3
+ * Binary parse of raw STOMP frame
4
+ * Fix broken tests on Ruby 1.9.2
5
+
6
+ == 1.1.6 2010-10-06
2
7
 
3
8
  * Fixed multi-thread app hanging
4
9
 
data/Rakefile CHANGED
@@ -15,7 +15,7 @@ $:.unshift(File.dirname(__FILE__) + "/lib")
15
15
  require 'rubygems'
16
16
  require 'rake'
17
17
  require 'rake/testtask'
18
- require 'spec/rake/spectask'
18
+ require 'rspec/core/rake_task'
19
19
  require "stomp/version"
20
20
 
21
21
  begin
@@ -34,7 +34,7 @@ begin
34
34
  gem.email = ["brianm@apache.org", 'marius@stones.com', 'morellon@gmail.com']
35
35
  gem.homepage = "http://stomp.codehaus.org/"
36
36
  gem.authors = ["Brian McCallister", 'Marius Mathiesen', 'Thiago Morello']
37
- gem.add_development_dependency "rspec"
37
+ gem.add_development_dependency "rspec", '>= 2.3'
38
38
  end
39
39
  Jeweler::GemcutterTasks.new
40
40
  rescue LoadError
@@ -42,14 +42,14 @@ rescue LoadError
42
42
  end
43
43
 
44
44
  desc 'Run the specs'
45
- Spec::Rake::SpecTask.new(:spec) do |t|
46
- t.spec_opts = ['--colour --format specdoc --loadby mtime --reverse']
47
- t.spec_files = FileList['spec/**/*_spec.rb']
45
+ RSpec::Core::RakeTask.new(:spec) do |t|
46
+ t.spec_opts = ['--colour']
47
+ t.pattern = 'spec/**/*_spec.rb'
48
48
  end
49
49
 
50
50
  desc "Rspec : run all with RCov"
51
- Spec::Rake::SpecTask.new('spec:rcov') do |t|
52
- t.spec_files = FileList['spec/**/*.rb']
51
+ RSpec::Core::RakeTask.new('spec:rcov') do |t|
52
+ t.pattern = 'spec/**/*_spec.rb'
53
53
  t.rcov = true
54
54
  t.rcov_opts = ['--exclude', 'gems', '--exclude', 'spec']
55
55
  end
@@ -4,32 +4,50 @@ module Stomp
4
4
  class Message
5
5
  attr_accessor :command, :headers, :body, :original
6
6
 
7
- def initialize(message)
7
+ @@allowed_commands = [ 'CONNECTED', 'MESSAGE', 'RECEIPT', 'ERROR' ]
8
+
9
+ def initialize(frame)
10
+ # p frame
8
11
  # Set default empty values
9
12
  self.command = ''
10
13
  self.headers = {}
11
14
  self.body = ''
12
- self.original = message
13
- return self if is_blank?(message)
14
-
15
- # Parse the format of the received stomp message
16
- parse = message.match /^(CONNECTED|MESSAGE|RECEIPT|ERROR)\n(.*?)\n\n(.*)\0\n?$/m
17
- raise Stomp::Error::InvalidFormat if parse.nil?
15
+ self.original = frame
16
+ return self if is_blank?(frame)
17
+ # Figure out where individual parts of the frame begin and end.
18
+ command_index = frame.index("\n")
19
+ raise Stomp::Error::InvalidFormat, 'command index' unless command_index
20
+ #
21
+ headers_index = frame.index("\n\n", command_index+1)
22
+ raise Stomp::Error::InvalidFormat, 'headers index' unless headers_index
23
+ #
24
+ lastnull_index = frame.rindex("\0")
25
+ raise Stomp::Error::InvalidFormat, 'lastnull index' unless lastnull_index
18
26
 
19
- # Set the message values
20
- self.command = parse[1]
21
- self.headers = {}
22
- parse[2].split("\n").map do |value|
27
+ # Extract working copies of each frame part
28
+ work_command = frame[0..command_index-1]
29
+ raise Stomp::Error::InvalidFormat, 'nil command' unless @@allowed_commands.include?(work_command)
30
+ #
31
+ work_headers = frame[command_index+1..headers_index-1]
32
+ raise Stomp::Error::InvalidFormat, 'nil headers' unless work_headers
33
+ #
34
+ work_body = frame[headers_index+2..lastnull_index-1]
35
+ raise Stomp::Error::InvalidFormat, 'nil body' unless work_body
36
+ # Set the frame values
37
+ self.command = work_command
38
+ work_headers.split("\n").map do |value|
23
39
  parsed_value = value.match /^([\w|-]*):(.*)$/
40
+ raise Stomp::Error::InvalidFormat, 'parsed header value' unless parsed_value
24
41
  self.headers[parsed_value[1].strip] = parsed_value[2].strip if parsed_value
25
42
  end
26
43
 
27
44
  body_length = -1
45
+
28
46
  if self.headers['content-length']
29
47
  body_length = self.headers['content-length'].to_i
30
- raise Stomp::Error::InvalidMessageLength if parse[3].length != body_length
48
+ raise Stomp::Error::InvalidMessageLength if work_body.length != body_length
31
49
  end
32
- self.body = parse[3][0..body_length]
50
+ self.body = work_body[0..body_length]
33
51
  end
34
52
 
35
53
  def to_s
@@ -47,3 +65,4 @@ module Stomp
47
65
  end
48
66
 
49
67
  end
68
+
@@ -2,7 +2,7 @@ module Stomp
2
2
  module Version #:nodoc: all
3
3
  MAJOR = 1
4
4
  MINOR = 1
5
- PATCH = 6
5
+ PATCH = 7
6
6
  STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
- end
8
+ end
@@ -1,6 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'client_shared_examples'
3
3
 
4
+
4
5
  describe Stomp::Client do
5
6
 
6
7
  before(:each) do
@@ -1,14 +1,6 @@
1
- begin
2
- require 'spec'
3
- rescue LoadError
4
- require 'rubygems'
5
- #gem 'rspec'
6
- require 'spec'
7
- end
8
-
1
+ require 'rspec'
9
2
  dir = File.dirname(__FILE__)
10
3
  lib_path = File.expand_path("#{dir}/../lib")
11
4
  $LOAD_PATH.unshift lib_path unless $LOAD_PATH.include?(lib_path)
12
5
 
13
6
  require 'stomp'
14
-
@@ -1,78 +1,78 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{stomp}
8
- s.version = "1.1.6"
8
+ s.version = "1.1.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Brian McCallister", "Marius Mathiesen", "Thiago Morello"]
12
- s.date = %q{2010-06-10}
12
+ s.date = %q{2011-01-14}
13
13
  s.description = %q{Ruby client for the Stomp messaging protocol}
14
14
  s.email = ["brianm@apache.org", "marius@stones.com", "morellon@gmail.com"]
15
15
  s.executables = ["catstomp", "stompcat"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE",
18
- "README.rdoc"
18
+ "README.rdoc"
19
19
  ]
20
20
  s.files = [
21
- ".gitignore",
22
- "CHANGELOG.rdoc",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "bin/catstomp",
27
- "bin/stompcat",
28
- "examples/consumer.rb",
29
- "examples/publisher.rb",
30
- "lib/stomp.rb",
31
- "lib/stomp/client.rb",
32
- "lib/stomp/connection.rb",
33
- "lib/stomp/errors.rb",
34
- "lib/stomp/ext/hash.rb",
35
- "lib/stomp/message.rb",
36
- "lib/stomp/version.rb",
37
- "spec/client_shared_examples.rb",
38
- "spec/client_spec.rb",
39
- "spec/connection_spec.rb",
40
- "spec/message_spec.rb",
41
- "spec/spec_helper.rb",
42
- "stomp.gemspec",
43
- "test/test_client.rb",
44
- "test/test_connection.rb",
45
- "test/test_helper.rb"
21
+ "CHANGELOG.rdoc",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "bin/catstomp",
26
+ "bin/stompcat",
27
+ "examples/consumer.rb",
28
+ "examples/publisher.rb",
29
+ "lib/stomp.rb",
30
+ "lib/stomp/client.rb",
31
+ "lib/stomp/connection.rb",
32
+ "lib/stomp/errors.rb",
33
+ "lib/stomp/ext/hash.rb",
34
+ "lib/stomp/message.rb",
35
+ "lib/stomp/version.rb",
36
+ "spec/client_shared_examples.rb",
37
+ "spec/client_spec.rb",
38
+ "spec/connection_spec.rb",
39
+ "spec/message_spec.rb",
40
+ "spec/spec_helper.rb",
41
+ "stomp.gemspec",
42
+ "test/test_client.rb",
43
+ "test/test_connection.rb",
44
+ "test/test_helper.rb",
45
+ "test/test_message.rb"
46
46
  ]
47
47
  s.homepage = %q{http://stomp.codehaus.org/}
48
- s.rdoc_options = ["--charset=UTF-8"]
49
48
  s.require_paths = ["lib"]
50
- s.rubygems_version = %q{1.3.5}
49
+ s.rubygems_version = %q{1.3.7}
51
50
  s.summary = %q{Ruby client for the Stomp messaging protocol}
52
51
  s.test_files = [
52
+ "examples/consumer.rb",
53
+ "examples/publisher.rb",
53
54
  "spec/client_shared_examples.rb",
54
- "spec/client_spec.rb",
55
- "spec/connection_spec.rb",
56
- "spec/message_spec.rb",
57
- "spec/spec_helper.rb",
58
- "test/test_client.rb",
59
- "test/test_connection.rb",
60
- "test/test_helper.rb",
61
- "examples/consumer.rb",
62
- "examples/publisher.rb"
55
+ "spec/client_spec.rb",
56
+ "spec/connection_spec.rb",
57
+ "spec/message_spec.rb",
58
+ "spec/spec_helper.rb",
59
+ "test/test_client.rb",
60
+ "test/test_connection.rb",
61
+ "test/test_helper.rb",
62
+ "test/test_message.rb"
63
63
  ]
64
64
 
65
65
  if s.respond_to? :specification_version then
66
66
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
67
67
  s.specification_version = 3
68
68
 
69
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
70
- s.add_development_dependency(%q<rspec>, [">= 0"])
69
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
70
+ s.add_development_dependency(%q<rspec>, [">= 2.3"])
71
71
  else
72
- s.add_dependency(%q<rspec>, [">= 0"])
72
+ s.add_dependency(%q<rspec>, [">= 2.3"])
73
73
  end
74
74
  else
75
- s.add_dependency(%q<rspec>, [">= 0"])
75
+ s.add_dependency(%q<rspec>, [">= 2.3"])
76
76
  end
77
77
  end
78
78
 
@@ -181,44 +181,47 @@ class TestClient < Test::Unit::TestCase
181
181
 
182
182
  def test_unsubscribe
183
183
  message = nil
184
+ dest = destination
185
+ to_send = message_text
184
186
  client = Stomp::Client.new(user, passcode, host, port, true)
185
187
  assert_nothing_raised {
186
- client.subscribe(destination, :ack => 'client') { |m| message = m }
187
- @client.publish destination, message_text
188
+ client.subscribe(dest, :ack => 'client') { |m| message = m }
189
+ @client.publish dest, to_send
188
190
  Timeout::timeout(4) do
189
191
  sleep 0.01 until message
190
192
  end
191
193
  }
192
- assert_equal message_text, message.body
194
+ assert_equal to_send, message.body, "first body check"
193
195
  assert_nothing_raised {
194
- client.unsubscribe destination # was throwing exception on unsub at one point
196
+ client.unsubscribe dest # was throwing exception on unsub at one point
195
197
  client.close
196
198
  }
197
199
  # Same message should remain on the queue. Receive it again with ack=>auto.
198
200
  message_copy = nil
199
201
  client = Stomp::Client.new(user, passcode, host, port, true)
200
202
  assert_nothing_raised {
201
- client.subscribe(destination, :ack => 'auto') { |m| message_copy = m }
203
+ client.subscribe(dest, :ack => 'auto') { |m| message_copy = m }
202
204
  Timeout::timeout(4) do
203
205
  sleep 0.01 until message_copy
204
206
  end
205
207
  }
206
- assert_equal message_text, message_copy.body
207
- assert_equal message.headers['message-id'], message_copy.headers['message-id']
208
+ assert_equal to_send, message_copy.body, "second body check"
209
+ assert_equal message.headers['message-id'], message_copy.headers['message-id'], "header check"
208
210
  end
209
211
 
210
212
  def test_thread_one_subscribe
211
213
  msg = nil
214
+ dest = destination
212
215
  Thread.new(@client) do |acli|
213
216
  assert_nothing_raised {
214
- acli.subscribe(destination) { |m| msg = m }
217
+ acli.subscribe(dest) { |m| msg = m }
215
218
  Timeout::timeout(4) do
216
219
  sleep 0.01 until msg
217
220
  end
218
221
  }
219
222
  end
220
223
  #
221
- @client.publish(destination, message_text)
224
+ @client.publish(dest, message_text)
222
225
  sleep 1
223
226
  assert_not_nil msg
224
227
  end
@@ -227,11 +230,12 @@ class TestClient < Test::Unit::TestCase
227
230
  #
228
231
  lock = Mutex.new
229
232
  msg_ctr = 0
233
+ dest = destination
230
234
  1.upto(@max_threads) do |tnum|
231
235
  # Threads within threads .....
232
236
  Thread.new(@client) do |acli|
233
237
  assert_nothing_raised {
234
- acli.subscribe(destination) { |m|
238
+ acli.subscribe(dest) { |m|
235
239
  msg = m
236
240
  lock.synchronize do
237
241
  msg_ctr += 1
@@ -245,7 +249,7 @@ class TestClient < Test::Unit::TestCase
245
249
  #
246
250
  1.upto(@max_msgs) do |mnum|
247
251
  msg = Time.now.to_s + " #{mnum}"
248
- @client.publish(destination, message_text)
252
+ @client.publish(dest, message_text)
249
253
  end
250
254
  #
251
255
  max_sleep=5
@@ -262,10 +266,12 @@ class TestClient < Test::Unit::TestCase
262
266
 
263
267
  private
264
268
  def message_text
269
+ name = caller_method_name unless name
265
270
  "test_client#" + name
266
271
  end
267
272
 
268
273
  def destination
274
+ name = caller_method_name unless name
269
275
  "/queue/test/ruby/client/" + name
270
276
  end
271
277
  end
@@ -148,6 +148,7 @@ class TestStomp < Test::Unit::TestCase
148
148
  def test_multi_thread_receive
149
149
  lock = Mutex.new
150
150
  msg_ctr = 0
151
+ dest = make_destination
151
152
  #
152
153
  1.upto(@max_threads) do |tnum|
153
154
  Thread.new(@conn) do |amq|
@@ -162,10 +163,10 @@ class TestStomp < Test::Unit::TestCase
162
163
  end
163
164
  end
164
165
  #
165
- @conn.subscribe( make_destination )
166
+ @conn.subscribe( dest )
166
167
  1.upto(@max_msgs) do |mnum|
167
168
  msg = Time.now.to_s + " #{mnum}"
168
- @conn.publish(make_destination, msg)
169
+ @conn.publish(dest, msg)
169
170
  end
170
171
  #
171
172
  max_sleep=5
@@ -184,6 +185,7 @@ class TestStomp < Test::Unit::TestCase
184
185
  #
185
186
  lock = Mutex.new
186
187
  msg_ctr = 0
188
+ dest = make_destination
187
189
  #
188
190
  1.upto(@max_threads) do |tnum|
189
191
  Thread.new(@conn) do |amq|
@@ -203,10 +205,10 @@ class TestStomp < Test::Unit::TestCase
203
205
  end
204
206
  end
205
207
  #
206
- @conn.subscribe( make_destination )
208
+ @conn.subscribe( dest )
207
209
  1.upto(@max_msgs) do |mnum|
208
210
  msg = Time.now.to_s + " #{mnum}"
209
- @conn.publish(make_destination, msg)
211
+ @conn.publish(dest, msg)
210
212
  end
211
213
  #
212
214
  max_sleep=5
@@ -223,6 +225,7 @@ class TestStomp < Test::Unit::TestCase
223
225
 
224
226
  private
225
227
  def make_destination
228
+ name = caller_method_name unless name
226
229
  "/queue/test/ruby/stomp/" + name
227
230
  end
228
231
 
@@ -20,5 +20,19 @@ module TestBase
20
20
  def port
21
21
  (ENV['STOMP_PORT'] || 61613).to_i
22
22
  end
23
+ # Helper for minitest on 1.9
24
+ def caller_method_name
25
+ parse_caller(caller(2).first).last
26
+ end
27
+ # Helper for minitest on 1.9
28
+ def parse_caller(at)
29
+ if /^(.+?):(\d+)(?::in `(.*)')?/ =~ at
30
+ file = Regexp.last_match[1]
31
+ line = Regexp.last_match[2].to_i
32
+ method = Regexp.last_match[3]
33
+ method.gsub!(" ","_")
34
+ [file, line, method]
35
+ end
36
+ end
23
37
  end
24
38
 
@@ -0,0 +1,114 @@
1
+ $:.unshift(File.dirname(__FILE__))
2
+ #
3
+ # Test Ruby 1.8 with $KCODE='U'
4
+ #
5
+ require 'test_helper'
6
+ #
7
+ class TestMessageKcode < Test::Unit::TestCase
8
+ include TestBase
9
+ #
10
+ def setup
11
+ $KCODE = 'U' if RUBY_VERSION =~ /1\.8/
12
+ @conn = Stomp::Connection.open(user, passcode, host, port)
13
+ # Message body data
14
+ @messages = [
15
+ "normal text message",
16
+ "bad byte: \372",
17
+ "\004\b{\f:\tbody\"\001\207\004\b{\b:\016statusmsg\"\aOK:\017statuscodei\000:\tdata{\t:\voutput\"3Enabled, not running, last run 693 seconds ago:\frunningi\000:\fenabledi\006:\flastrunl+\aE\021\022M:\rsenderid\"\032xx.xx.xx.xx:\016requestid\"%849d647bbe3e421ea19ac9f947bbdde4:\020senderagent\"\fpuppetd:\016msgtarget\"%/topic/mcollective.puppetd.reply:\thash\"\001\257ZdQqtaDmmdD0jZinnEcpN+YbkxQDn8uuCnwsQdvGHau6d+gxnnfPLUddWRSb\nZNMs+sQUXgJNfcV1eVBn1H+Z8QQmzYXVDMqz7J43jmgloz5PsLVbN9K3PmX/\ngszqV/WpvIyAqm98ennWqSzpwMuiCC4q2Jr3s3Gm6bUJ6UkKXnY=\n:\fmsgtimel+\a\372\023\022M"
18
+ ]
19
+ #
20
+ end
21
+
22
+ def teardown
23
+ @conn.disconnect if @conn # allow tests to disconnect
24
+ end
25
+
26
+ # Various message bodies, including the failing test case reported
27
+ def test_kcode_001
28
+ #
29
+ dest = make_destination
30
+ @conn.subscribe dest
31
+ @messages.each do |abody|
32
+ @conn.publish dest, abody
33
+ msg = @conn.receive
34
+ assert_instance_of Stomp::Message , msg, "type check for #{abody}"
35
+ assert_equal abody, msg.body, "equal check for #{abody}"
36
+ end
37
+ end
38
+
39
+ # All possible byte values
40
+ def test_kcode_002
41
+ #
42
+ abody = ""
43
+ "\000".upto("\377") {|abyte| abody << abyte }
44
+ #
45
+ dest = make_destination
46
+ @conn.subscribe dest
47
+ @conn.publish dest, abody
48
+ msg = @conn.receive
49
+ assert_instance_of Stomp::Message , msg, "type check for #{abody}"
50
+ assert_equal abody, msg.body, "equal check for #{abody}"
51
+ end
52
+
53
+ # A single byte at a time
54
+ def test_kcode_003
55
+ #
56
+ dest = make_destination
57
+ @conn.subscribe dest
58
+ #
59
+ "\000".upto("\377") do |abody|
60
+ @conn.publish dest, abody
61
+ msg = @conn.receive
62
+ assert_instance_of Stomp::Message , msg, "type check for #{abody}"
63
+ assert_equal abody, msg.body, "equal check for #{abody}"
64
+ end
65
+ end
66
+
67
+ #
68
+ def test_kcode_004
69
+ #
70
+ assert_raise(Stomp::Error::InvalidFormat) {
71
+ aframe = Stomp::Message.new("junk")
72
+ }
73
+ #
74
+ assert_raise(Stomp::Error::InvalidFormat) {
75
+ aframe = Stomp::Message.new("command\njunk")
76
+ }
77
+ #
78
+ assert_raise(Stomp::Error::InvalidFormat) {
79
+ aframe = Stomp::Message.new("command\nheaders\n\njunk")
80
+ }
81
+ #
82
+ assert_raise(Stomp::Error::InvalidFormat) {
83
+ aframe = Stomp::Message.new("junkcommand\nheaders\n\njunk\0\n\n")
84
+ }
85
+ #
86
+ assert_raise(Stomp::Error::InvalidFormat) {
87
+ aframe = Stomp::Message.new("ERROR\nbadheaders\n\njunk\0\n\n")
88
+ }
89
+ #
90
+ assert_nothing_raised {
91
+ aframe = Stomp::Message.new("CONNECTED\nh1:val1\n\njunk\0\n")
92
+ }
93
+ #
94
+ assert_nothing_raised {
95
+ aframe = Stomp::Message.new("MESSAGE\nh1:val1\n\njunk\0\n")
96
+ }
97
+ #
98
+ assert_nothing_raised {
99
+ aframe = Stomp::Message.new("RECEIPT\nh1:val1\n\njunk\0\n")
100
+ }
101
+ #
102
+ assert_nothing_raised {
103
+ aframe = Stomp::Message.new("ERROR\nh1:val1\n\njunk\0\n")
104
+ }
105
+
106
+ end
107
+
108
+ private
109
+ def make_destination
110
+ name = caller_method_name unless name
111
+ "/queue/test/rubyk01/stomp/" + name
112
+ end
113
+ end
114
+
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stomp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ prerelease: false
5
+ segments:
6
+ - 1
7
+ - 1
8
+ - 7
9
+ version: 1.1.7
5
10
  platform: ruby
6
11
  authors:
7
12
  - Brian McCallister
@@ -11,19 +16,23 @@ autorequire:
11
16
  bindir: bin
12
17
  cert_chain: []
13
18
 
14
- date: 2010-06-10 00:00:00 -03:00
19
+ date: 2011-01-14 00:00:00 -05:00
15
20
  default_executable:
16
21
  dependencies:
17
22
  - !ruby/object:Gem::Dependency
18
23
  name: rspec
19
- type: :development
20
- version_requirement:
21
- version_requirements: !ruby/object:Gem::Requirement
24
+ prerelease: false
25
+ requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
22
27
  requirements:
23
28
  - - ">="
24
29
  - !ruby/object:Gem::Version
25
- version: "0"
26
- version:
30
+ segments:
31
+ - 2
32
+ - 3
33
+ version: "2.3"
34
+ type: :development
35
+ version_requirements: *id001
27
36
  description: Ruby client for the Stomp messaging protocol
28
37
  email:
29
38
  - brianm@apache.org
@@ -38,7 +47,6 @@ extra_rdoc_files:
38
47
  - LICENSE
39
48
  - README.rdoc
40
49
  files:
41
- - .gitignore
42
50
  - CHANGELOG.rdoc
43
51
  - LICENSE
44
52
  - README.rdoc
@@ -63,35 +71,42 @@ files:
63
71
  - test/test_client.rb
64
72
  - test/test_connection.rb
65
73
  - test/test_helper.rb
74
+ - test/test_message.rb
66
75
  has_rdoc: true
67
76
  homepage: http://stomp.codehaus.org/
68
77
  licenses: []
69
78
 
70
79
  post_install_message:
71
- rdoc_options:
72
- - --charset=UTF-8
80
+ rdoc_options: []
81
+
73
82
  require_paths:
74
83
  - lib
75
84
  required_ruby_version: !ruby/object:Gem::Requirement
85
+ none: false
76
86
  requirements:
77
87
  - - ">="
78
88
  - !ruby/object:Gem::Version
89
+ segments:
90
+ - 0
79
91
  version: "0"
80
- version:
81
92
  required_rubygems_version: !ruby/object:Gem::Requirement
93
+ none: false
82
94
  requirements:
83
95
  - - ">="
84
96
  - !ruby/object:Gem::Version
97
+ segments:
98
+ - 0
85
99
  version: "0"
86
- version:
87
100
  requirements: []
88
101
 
89
102
  rubyforge_project:
90
- rubygems_version: 1.3.5
103
+ rubygems_version: 1.3.7
91
104
  signing_key:
92
105
  specification_version: 3
93
106
  summary: Ruby client for the Stomp messaging protocol
94
107
  test_files:
108
+ - examples/consumer.rb
109
+ - examples/publisher.rb
95
110
  - spec/client_shared_examples.rb
96
111
  - spec/client_spec.rb
97
112
  - spec/connection_spec.rb
@@ -100,5 +115,4 @@ test_files:
100
115
  - test/test_client.rb
101
116
  - test/test_connection.rb
102
117
  - test/test_helper.rb
103
- - examples/consumer.rb
104
- - examples/publisher.rb
118
+ - test/test_message.rb
data/.gitignore DELETED
@@ -1,3 +0,0 @@
1
- pkg/*
2
- doc/*
3
- coverage/*