stomp_out 0.1.0 → 0.1.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.
- checksums.yaml +7 -0
- data/.rspec +3 -0
- data/CHANGELOG.rdoc +5 -0
- data/README.rdoc +2 -0
- data/Rakefile +28 -20
- data/VERSION +1 -1
- data/examples/config.ru +1 -1
- data/examples/websocket_client.rb +13 -14
- data/examples/websocket_server.rb +14 -23
- data/lib/stomp_out/server.rb +9 -5
- data/stomp_out.gemspec +22 -41
- metadata +112 -240
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8f12f905dba95872de613a615e4b4aa0e4207554
|
4
|
+
data.tar.gz: b9884ea302138b02faf1150b29ccbf98475b88d6
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9dfcbd1d503e016e37ff944467bffbaa6af0c0653659fbc74102dbccd390a4a06c77372ae94d16cd98f05fd5fc07a5c688a73618c8dadc582f439afe4b664a9f
|
7
|
+
data.tar.gz: 95b7efa0be620bac871a4f59c4bdc8ac6fb625c73ff2eb1b1bc66cea8e070b8e4c0b9d845fe999dd56c52ca0ef0b9b5ae8f93025e0cf1205f5b3e90aa57a7a9d
|
data/.rspec
ADDED
data/CHANGELOG.rdoc
CHANGED
data/README.rdoc
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
{<img src="https://travis-ci.org/rightscale/stomp_out.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/rightscale/stomp_out]
|
2
|
+
|
1
3
|
= Introduction
|
2
4
|
|
3
5
|
StompOut is an implementation of the Simple Text Orientated Messaging Protocol (STOMP[http://stomp.github.io]).
|
data/Rakefile
CHANGED
@@ -2,34 +2,42 @@
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'rake'
|
4
4
|
require 'right_develop'
|
5
|
-
require '
|
5
|
+
require 'rspec/core/rake_task'
|
6
6
|
require 'rubygems/package_task'
|
7
7
|
require 'rake/clean'
|
8
8
|
|
9
|
-
|
9
|
+
# These dependencies can be omitted using "bundle install --without"; tolerate their absence
|
10
|
+
['jeweler'].each do |optional|
|
11
|
+
begin
|
12
|
+
require optional
|
13
|
+
rescue LoadError
|
14
|
+
# ignore
|
15
|
+
end
|
16
|
+
end
|
10
17
|
|
11
18
|
desc "Run unit tests"
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
19
|
+
task :default => :spec
|
20
|
+
|
21
|
+
desc "Run unit tests"
|
22
|
+
RSpec::Core::RakeTask.new do |t|
|
23
|
+
t.pattern = Dir['**/*_spec.rb']
|
17
24
|
end
|
18
25
|
|
19
|
-
|
20
|
-
Jeweler::Tasks.new do |gem|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
if defined?(Jeweler)
|
27
|
+
Jeweler::Tasks.new do |gem|
|
28
|
+
# gem is a Gem::Specification; see http://docs.rubygems.org/read/chapter/20 for more options
|
29
|
+
gem.name = "stomp_out"
|
30
|
+
gem.homepage = "https://github.com/rightscale/stomp_out"
|
31
|
+
gem.license = "MIT"
|
32
|
+
gem.summary = %Q{Client and server for STOMP protocol that operate outboard of separately supplied network connection.}
|
33
|
+
gem.description = %Q{This implementation of STOMP is aimed at environments where a network connection, such as a WebSocket or TCP socket, is created and then raw data from that connection is passed to/from the STOMP client or server messaging layer provided by this gem.}
|
34
|
+
gem.email = "support@rightscale.com"
|
35
|
+
gem.authors = ["Lee Kirchhoff"]
|
36
|
+
gem.files.exclude "Gemfile*"
|
37
|
+
gem.files.exclude "spec/**/*"
|
38
|
+
end
|
39
|
+
Jeweler::RubygemsDotOrgTasks.new
|
31
40
|
end
|
32
|
-
Jeweler::RubygemsDotOrgTasks.new
|
33
41
|
|
34
42
|
CLEAN.include("pkg")
|
35
43
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/examples/config.ru
CHANGED
@@ -28,20 +28,20 @@ class WebSocketClient < StompOut::Client
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def on_connected(frame, session_id, server_name)
|
31
|
-
puts "connected to #{server_name} for session #{session_id}"
|
31
|
+
puts "connected to #{server_name.inspect} for session #{session_id.inspect}"
|
32
32
|
if @message
|
33
33
|
receipt_id = message(@destination, @message)
|
34
|
-
@receipts[receipt_id] = "message to #{@destination}" if receipt_id
|
34
|
+
@receipts[receipt_id] = "message to #{@destination.inspect}" if receipt_id
|
35
35
|
close
|
36
36
|
else
|
37
|
-
puts "
|
37
|
+
puts "subscribe #{@destination.inspect} with ack #{@ack.inspect}"
|
38
38
|
receipt_id = subscribe(@destination, @ack, receipt = true)
|
39
|
-
@receipts[receipt_id] = "subscribe
|
39
|
+
@receipts[receipt_id] = "subscribe #{@destination.inspect} with ack #{@ack.inspect}" if receipt_id
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
43
|
def on_message(frame, destination, message, content_type, message_id, ack_id)
|
44
|
-
puts "
|
44
|
+
puts "message #{message_id.inspect} of type #{content_type.inspect} from #{destination.inspect} " +
|
45
45
|
"with ack #{ack_id.inspect}: #{message.inspect}"
|
46
46
|
if @ack != "auto"
|
47
47
|
receipt_id = ack(ack_id)
|
@@ -51,7 +51,7 @@ class WebSocketClient < StompOut::Client
|
|
51
51
|
|
52
52
|
def on_receipt(frame, receipt_id)
|
53
53
|
@subscribed = true if @receipts[receipt_id].to_s =~ /subscribe to/
|
54
|
-
puts "
|
54
|
+
puts "receipt #{receipt_id.inspect} for #{@receipts.delete(receipt_id).inspect}"
|
55
55
|
end
|
56
56
|
|
57
57
|
def on_error(frame, error, details, receipt_id)
|
@@ -64,9 +64,9 @@ class WebSocketClient < StompOut::Client
|
|
64
64
|
if connected?
|
65
65
|
if @subscribed
|
66
66
|
@subscribed = false
|
67
|
-
puts "
|
67
|
+
puts "unsubscribe #{@destination.inspect}"
|
68
68
|
receipt_id = unsubscribe(@destination)
|
69
|
-
@receipts[receipt_id] = "unsubscribe
|
69
|
+
@receipts[receipt_id] = "unsubscribe #{@destination.inspect}" if receipt_id
|
70
70
|
end
|
71
71
|
receipt_id = disconnect
|
72
72
|
@receipts[receipt_id] = "disconnect" if receipt_id
|
@@ -86,22 +86,21 @@ class WebSocketClientApp
|
|
86
86
|
|
87
87
|
def start(options)
|
88
88
|
['INT', 'TERM'].each do |signal|
|
89
|
-
trap(signal) do stop end
|
89
|
+
trap(signal) do EM.stop if EM.reactor_running? end
|
90
90
|
end
|
91
91
|
|
92
92
|
EM.run do
|
93
93
|
@client = WebSocketClient.new(options.merge(:parent => self, :name => self.class.name, :auto_json => true))
|
94
94
|
@websocket = Faye::WebSocket::Client.new(options[:url])
|
95
|
-
@websocket.onerror = lambda { |e| puts "error #{e.message}"; stop }
|
96
|
-
@websocket.onclose = lambda { |
|
97
|
-
@websocket.onmessage = lambda { |
|
95
|
+
@websocket.onerror = lambda { |e| puts "error #{e.message.inspect}"; stop }
|
96
|
+
@websocket.onclose = lambda { |c| puts "close #{c.code} #{c.reason}"; stop }
|
97
|
+
@websocket.onmessage = lambda { |m| puts "STOMP < #{m.data.inspect}"; @client.receive_data(m.data) }
|
98
98
|
@client.connect
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
102
|
def send_data(data)
|
103
|
-
|
104
|
-
puts "sending: #{data}"
|
103
|
+
puts "STOMP > #{data.inspect}"
|
105
104
|
@websocket.send(data)
|
106
105
|
end
|
107
106
|
|
@@ -1,10 +1,10 @@
|
|
1
|
-
|
2
1
|
# Example of a StompOut::Server subclass in a WebSocket environment
|
3
2
|
class WebSocketServer < StompOut::Server
|
4
3
|
|
5
4
|
def initialize(options = {})
|
6
5
|
options = options.dup
|
7
6
|
@parent = options.delete(:parent)
|
7
|
+
@session_id = options.delete(:session)
|
8
8
|
@subscriptions = {}
|
9
9
|
@message_ids = {}
|
10
10
|
super(options.merge(:name => self.class.name))
|
@@ -15,7 +15,7 @@ class WebSocketServer < StompOut::Server
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def on_connect(frame, login, passcode, host, session_id)
|
18
|
-
|
18
|
+
@session_id
|
19
19
|
end
|
20
20
|
|
21
21
|
def on_message(frame, destination, message, content_type)
|
@@ -70,48 +70,39 @@ end
|
|
70
70
|
# Simple WebSocket Rack application using WebSocketServer
|
71
71
|
class WebSocketServerApp < Rack::WebSocket::Application
|
72
72
|
|
73
|
-
@@
|
74
|
-
@@
|
75
|
-
@@connection_id = 0
|
73
|
+
@@sessions = {}
|
74
|
+
@@session_id = 0
|
76
75
|
@@messages = Hash.new { |h, k| h[k] = [] }
|
77
76
|
@@message_id = 0
|
78
77
|
|
79
78
|
def on_open(env)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
@@servers[socket] = WebSocketServer.new(:parent => self)
|
79
|
+
@session_id = (@@session_id += 1)
|
80
|
+
puts "opened #{@session_id}"
|
81
|
+
@@sessions[@session_id] = WebSocketServer.new(:parent => self, :session => @session_id)
|
84
82
|
end
|
85
83
|
|
86
84
|
def on_close(env)
|
87
|
-
|
88
|
-
|
89
|
-
puts "closed connection #{connection}"
|
90
|
-
@@servers.delete(socket)
|
85
|
+
puts "closed #{@session_id}"
|
86
|
+
@@sessions.delete(@session_id)
|
91
87
|
end
|
92
88
|
|
93
89
|
def on_error(env, error)
|
94
|
-
|
95
|
-
connection = @@connections[socket]
|
96
|
-
STDERR.puts "error on connection #{connection} (#{error})"
|
90
|
+
STDERR.puts "error on #{@session_id} (#{error})"
|
97
91
|
end
|
98
92
|
|
99
93
|
def on_message(env, message)
|
100
|
-
|
101
|
-
|
102
|
-
puts "received #{message} on connection #{connection}"
|
103
|
-
@@servers[socket].receive_data(JSON.load(message))
|
94
|
+
puts "STOMP <#{@session_id} #{message.inspect}"
|
95
|
+
@@sessions[@session_id].receive_data(message)
|
104
96
|
end
|
105
97
|
|
106
98
|
def send_data(data)
|
107
|
-
|
108
|
-
puts "sending #{data}"
|
99
|
+
puts "STOMP >#{@session_id} #{data.inspect}"
|
109
100
|
super(data)
|
110
101
|
end
|
111
102
|
|
112
103
|
def deliver_message(destination, message, content_type)
|
113
104
|
@@messages[destination] << {:id => (@@message_id += 1).to_s, :message => message, :content_type => content_type}
|
114
|
-
@@
|
105
|
+
@@sessions.each_value { |s| s.deliver_messages(destination, @@messages[destination]) }
|
115
106
|
end
|
116
107
|
|
117
108
|
def delete_message(id)
|
data/lib/stomp_out/server.rb
CHANGED
@@ -144,9 +144,11 @@ module StompOut
|
|
144
144
|
# @param [String] host to which client wishes to connect; this could be
|
145
145
|
# a virtual host or anything the application requires, or it may
|
146
146
|
# be arbitrary
|
147
|
-
# @param [String] session_id uniquely identifying the given STOMP session
|
147
|
+
# @param [String] session_id default for uniquely identifying the given STOMP session;
|
148
|
+
# can be overridden with return value
|
148
149
|
#
|
149
|
-
# @return [Boolean] true if connection accepted,
|
150
|
+
# @return [Boolean, String] true or a server assigned session ID string if connection accepted,
|
151
|
+
# otherwise false
|
150
152
|
def on_connect(frame, login, passcode, host, session_id)
|
151
153
|
raise "Not implemented"
|
152
154
|
end
|
@@ -371,16 +373,18 @@ module StompOut
|
|
371
373
|
# No need to pass frame to ProtocolError because connect does not permit "receipt" header
|
372
374
|
raise ProtocolError.new("Receipt not permitted", frame) if frame.headers["receipt"]
|
373
375
|
host = frame.require(@version, "host" => ["1.0"])
|
374
|
-
|
375
|
-
headers = {"version" => @version, "session" => @session_id}
|
376
|
+
headers = {"version" => @version}
|
376
377
|
if (rate = frame.headers["heart-beat"])
|
377
378
|
@heartbeat = Heartbeat.new(self, rate, @options[:min_send_interval] || MIN_SEND_HEARTBEAT,
|
378
379
|
@options[:desired_receive_interval] || DESIRED_RECEIVE_HEARTBEAT)
|
379
380
|
headers["heart-beat"] = [@heartbeat.outgoing_rate, @heartbeat.incoming_rate].join(",")
|
380
381
|
end
|
381
382
|
headers["server"] = @server_name if @server_name
|
382
|
-
|
383
|
+
default_session_id = SimpleUUID::UUID.new.to_guid
|
384
|
+
if (result = on_connect(frame, frame.headers["login"], frame.headers["passcode"], host, default_session_id))
|
383
385
|
@connected = true
|
386
|
+
@session_id = (result.is_a?(String) || result.is_a?(Integer)) ? result.to_s : default_session_id
|
387
|
+
headers["session"] = @session_id
|
384
388
|
send_frame("CONNECTED", headers)
|
385
389
|
@heartbeat.start if @heartbeat
|
386
390
|
else
|
data/stomp_out.gemspec
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: stomp_out 0.1.1 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "stomp_out"
|
8
|
-
s.version = "0.1.
|
9
|
+
s.version = "0.1.1"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Lee Kirchhoff"]
|
12
|
-
s.date = "2015-02-
|
14
|
+
s.date = "2015-02-06"
|
13
15
|
s.description = "This implementation of STOMP is aimed at environments where a network connection, such as a WebSocket or TCP socket, is created and then raw data from that connection is passed to/from the STOMP client or server messaging layer provided by this gem."
|
14
16
|
s.email = "support@rightscale.com"
|
15
17
|
s.extra_rdoc_files = [
|
@@ -17,6 +19,7 @@ Gem::Specification.new do |s|
|
|
17
19
|
"README.rdoc"
|
18
20
|
]
|
19
21
|
s.files = [
|
22
|
+
".rspec",
|
20
23
|
".travis.yml",
|
21
24
|
"CHANGELOG.rdoc",
|
22
25
|
"LICENSE",
|
@@ -37,59 +40,37 @@ Gem::Specification.new do |s|
|
|
37
40
|
]
|
38
41
|
s.homepage = "https://github.com/rightscale/stomp_out"
|
39
42
|
s.licenses = ["MIT"]
|
40
|
-
s.
|
41
|
-
s.rubygems_version = "1.8.15"
|
43
|
+
s.rubygems_version = "2.2.2"
|
42
44
|
s.summary = "Client and server for STOMP protocol that operate outboard of separately supplied network connection."
|
43
45
|
|
44
46
|
if s.respond_to? :specification_version then
|
45
|
-
s.specification_version =
|
47
|
+
s.specification_version = 4
|
46
48
|
|
47
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
48
50
|
s.add_runtime_dependency(%q<json>, ["~> 1.4"])
|
49
51
|
s.add_runtime_dependency(%q<simple_uuid>, ["~> 0.2"])
|
50
|
-
s.add_development_dependency(%q<
|
51
|
-
s.add_development_dependency(%q<
|
52
|
-
s.add_development_dependency(%q<
|
53
|
-
s.add_development_dependency(%q<
|
54
|
-
s.add_development_dependency(%q<
|
55
|
-
s.add_development_dependency(%q<debugger>, ["~> 1.5"])
|
56
|
-
s.add_development_dependency(%q<flexmock>, ["~> 0.8"])
|
57
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
58
|
-
s.add_development_dependency(%q<rake>, ["~> 0.9.2.2"])
|
59
|
-
s.add_development_dependency(%q<rspec>, ["~> 1.3"])
|
60
|
-
s.add_development_dependency(%q<right_develop>, ["~> 3.1"])
|
61
|
-
s.add_development_dependency(%q<ruby-debug>, ["~> 0.10"])
|
52
|
+
s.add_development_dependency(%q<rake>, ["~> 10.0"])
|
53
|
+
s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
|
54
|
+
s.add_development_dependency(%q<ruby-debug>, [">= 0"])
|
55
|
+
s.add_development_dependency(%q<pry>, [">= 0"])
|
56
|
+
s.add_development_dependency(%q<pry-byebug>, [">= 0"])
|
62
57
|
else
|
63
58
|
s.add_dependency(%q<json>, ["~> 1.4"])
|
64
59
|
s.add_dependency(%q<simple_uuid>, ["~> 0.2"])
|
65
|
-
s.add_dependency(%q<
|
66
|
-
s.add_dependency(%q<
|
67
|
-
s.add_dependency(%q<
|
68
|
-
s.add_dependency(%q<
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<debugger>, ["~> 1.5"])
|
71
|
-
s.add_dependency(%q<flexmock>, ["~> 0.8"])
|
72
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
73
|
-
s.add_dependency(%q<rake>, ["~> 0.9.2.2"])
|
74
|
-
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
75
|
-
s.add_dependency(%q<right_develop>, ["~> 3.1"])
|
76
|
-
s.add_dependency(%q<ruby-debug>, ["~> 0.10"])
|
60
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
61
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
62
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
63
|
+
s.add_dependency(%q<pry>, [">= 0"])
|
64
|
+
s.add_dependency(%q<pry-byebug>, [">= 0"])
|
77
65
|
end
|
78
66
|
else
|
79
67
|
s.add_dependency(%q<json>, ["~> 1.4"])
|
80
68
|
s.add_dependency(%q<simple_uuid>, ["~> 0.2"])
|
81
|
-
s.add_dependency(%q<
|
82
|
-
s.add_dependency(%q<
|
83
|
-
s.add_dependency(%q<
|
84
|
-
s.add_dependency(%q<
|
85
|
-
s.add_dependency(%q<
|
86
|
-
s.add_dependency(%q<debugger>, ["~> 1.5"])
|
87
|
-
s.add_dependency(%q<flexmock>, ["~> 0.8"])
|
88
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
89
|
-
s.add_dependency(%q<rake>, ["~> 0.9.2.2"])
|
90
|
-
s.add_dependency(%q<rspec>, ["~> 1.3"])
|
91
|
-
s.add_dependency(%q<right_develop>, ["~> 3.1"])
|
92
|
-
s.add_dependency(%q<ruby-debug>, ["~> 0.10"])
|
69
|
+
s.add_dependency(%q<rake>, ["~> 10.0"])
|
70
|
+
s.add_dependency(%q<jeweler>, ["~> 2.0"])
|
71
|
+
s.add_dependency(%q<ruby-debug>, [">= 0"])
|
72
|
+
s.add_dependency(%q<pry>, [">= 0"])
|
73
|
+
s.add_dependency(%q<pry-byebug>, [">= 0"])
|
93
74
|
end
|
94
75
|
end
|
95
76
|
|
metadata
CHANGED
@@ -1,245 +1,126 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: stomp_out
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 1
|
9
|
-
- 0
|
10
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Lee Kirchhoff
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
type: :runtime
|
11
|
+
date: 2015-02-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: json
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
hash: 7
|
29
|
-
segments:
|
30
|
-
- 1
|
31
|
-
- 4
|
32
|
-
version: "1.4"
|
33
|
-
prerelease: false
|
34
|
-
requirement: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.4'
|
36
20
|
type: :runtime
|
37
|
-
name: simple_uuid
|
38
|
-
version_requirements: &id002 !ruby/object:Gem::Requirement
|
39
|
-
none: false
|
40
|
-
requirements:
|
41
|
-
- - ~>
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
hash: 15
|
44
|
-
segments:
|
45
|
-
- 0
|
46
|
-
- 2
|
47
|
-
version: "0.2"
|
48
|
-
prerelease: false
|
49
|
-
requirement: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
type: :development
|
52
|
-
name: eventmachine
|
53
|
-
version_requirements: &id003 !ruby/object:Gem::Requirement
|
54
|
-
none: false
|
55
|
-
requirements:
|
56
|
-
- - ~>
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
hash: 15
|
59
|
-
segments:
|
60
|
-
- 1
|
61
|
-
- 0
|
62
|
-
version: "1.0"
|
63
|
-
prerelease: false
|
64
|
-
requirement: *id003
|
65
|
-
- !ruby/object:Gem::Dependency
|
66
|
-
type: :development
|
67
|
-
name: faye-websocket
|
68
|
-
version_requirements: &id004 !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
|
-
requirements:
|
71
|
-
- - ~>
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
hash: 5
|
74
|
-
segments:
|
75
|
-
- 0
|
76
|
-
- 7
|
77
|
-
version: "0.7"
|
78
21
|
prerelease: false
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
version: "1.5"
|
93
|
-
prerelease: false
|
94
|
-
requirement: *id005
|
95
|
-
- !ruby/object:Gem::Dependency
|
96
|
-
type: :development
|
97
|
-
name: websocket-rack
|
98
|
-
version_requirements: &id006 !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
|
-
requirements:
|
101
|
-
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
hash: 3
|
104
|
-
segments:
|
105
|
-
- 0
|
106
|
-
- 4
|
107
|
-
version: "0.4"
|
108
|
-
prerelease: false
|
109
|
-
requirement: *id006
|
110
|
-
- !ruby/object:Gem::Dependency
|
111
|
-
type: :development
|
112
|
-
name: thin
|
113
|
-
version_requirements: &id007 !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
|
-
requirements:
|
116
|
-
- - ">="
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
hash: 3
|
119
|
-
segments:
|
120
|
-
- 0
|
121
|
-
version: "0"
|
122
|
-
prerelease: false
|
123
|
-
requirement: *id007
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
type: :development
|
126
|
-
name: debugger
|
127
|
-
version_requirements: &id008 !ruby/object:Gem::Requirement
|
128
|
-
none: false
|
129
|
-
requirements:
|
130
|
-
- - ~>
|
131
|
-
- !ruby/object:Gem::Version
|
132
|
-
hash: 5
|
133
|
-
segments:
|
134
|
-
- 1
|
135
|
-
- 5
|
136
|
-
version: "1.5"
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.4'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: simple_uuid
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.2'
|
34
|
+
type: :runtime
|
137
35
|
prerelease: false
|
138
|
-
|
139
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
140
48
|
type: :development
|
141
|
-
name: flexmock
|
142
|
-
version_requirements: &id009 !ruby/object:Gem::Requirement
|
143
|
-
none: false
|
144
|
-
requirements:
|
145
|
-
- - ~>
|
146
|
-
- !ruby/object:Gem::Version
|
147
|
-
hash: 27
|
148
|
-
segments:
|
149
|
-
- 0
|
150
|
-
- 8
|
151
|
-
version: "0.8"
|
152
49
|
prerelease: false
|
153
|
-
|
154
|
-
|
155
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
156
56
|
name: jeweler
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
hash: 49
|
163
|
-
segments:
|
164
|
-
- 1
|
165
|
-
- 8
|
166
|
-
- 3
|
167
|
-
version: 1.8.3
|
168
|
-
prerelease: false
|
169
|
-
requirement: *id010
|
170
|
-
- !ruby/object:Gem::Dependency
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2.0'
|
171
62
|
type: :development
|
172
|
-
name: rake
|
173
|
-
version_requirements: &id011 !ruby/object:Gem::Requirement
|
174
|
-
none: false
|
175
|
-
requirements:
|
176
|
-
- - ~>
|
177
|
-
- !ruby/object:Gem::Version
|
178
|
-
hash: 11
|
179
|
-
segments:
|
180
|
-
- 0
|
181
|
-
- 9
|
182
|
-
- 2
|
183
|
-
- 2
|
184
|
-
version: 0.9.2.2
|
185
63
|
prerelease: false
|
186
|
-
|
187
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2.0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: ruby-debug
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
188
76
|
type: :development
|
189
|
-
name: rspec
|
190
|
-
version_requirements: &id012 !ruby/object:Gem::Requirement
|
191
|
-
none: false
|
192
|
-
requirements:
|
193
|
-
- - ~>
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
hash: 9
|
196
|
-
segments:
|
197
|
-
- 1
|
198
|
-
- 3
|
199
|
-
version: "1.3"
|
200
77
|
prerelease: false
|
201
|
-
|
202
|
-
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
203
90
|
type: :development
|
204
|
-
name: right_develop
|
205
|
-
version_requirements: &id013 !ruby/object:Gem::Requirement
|
206
|
-
none: false
|
207
|
-
requirements:
|
208
|
-
- - ~>
|
209
|
-
- !ruby/object:Gem::Version
|
210
|
-
hash: 5
|
211
|
-
segments:
|
212
|
-
- 3
|
213
|
-
- 1
|
214
|
-
version: "3.1"
|
215
91
|
prerelease: false
|
216
|
-
|
217
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-byebug
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
218
104
|
type: :development
|
219
|
-
name: ruby-debug
|
220
|
-
version_requirements: &id014 !ruby/object:Gem::Requirement
|
221
|
-
none: false
|
222
|
-
requirements:
|
223
|
-
- - ~>
|
224
|
-
- !ruby/object:Gem::Version
|
225
|
-
hash: 31
|
226
|
-
segments:
|
227
|
-
- 0
|
228
|
-
- 10
|
229
|
-
version: "0.10"
|
230
105
|
prerelease: false
|
231
|
-
|
232
|
-
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
description: This implementation of STOMP is aimed at environments where a network
|
112
|
+
connection, such as a WebSocket or TCP socket, is created and then raw data from
|
113
|
+
that connection is passed to/from the STOMP client or server messaging layer provided
|
114
|
+
by this gem.
|
233
115
|
email: support@rightscale.com
|
234
116
|
executables: []
|
235
|
-
|
236
117
|
extensions: []
|
237
|
-
|
238
|
-
extra_rdoc_files:
|
118
|
+
extra_rdoc_files:
|
239
119
|
- LICENSE
|
240
120
|
- README.rdoc
|
241
|
-
files:
|
242
|
-
- .
|
121
|
+
files:
|
122
|
+
- ".rspec"
|
123
|
+
- ".travis.yml"
|
243
124
|
- CHANGELOG.rdoc
|
244
125
|
- LICENSE
|
245
126
|
- README.rdoc
|
@@ -257,37 +138,28 @@ files:
|
|
257
138
|
- lib/stomp_out/server.rb
|
258
139
|
- stomp_out.gemspec
|
259
140
|
homepage: https://github.com/rightscale/stomp_out
|
260
|
-
licenses:
|
141
|
+
licenses:
|
261
142
|
- MIT
|
143
|
+
metadata: {}
|
262
144
|
post_install_message:
|
263
145
|
rdoc_options: []
|
264
|
-
|
265
|
-
require_paths:
|
146
|
+
require_paths:
|
266
147
|
- lib
|
267
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
268
|
-
|
269
|
-
requirements:
|
148
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
270
150
|
- - ">="
|
271
|
-
- !ruby/object:Gem::Version
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
version: "0"
|
276
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
277
|
-
none: false
|
278
|
-
requirements:
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
|
+
requirements:
|
279
155
|
- - ">="
|
280
|
-
- !ruby/object:Gem::Version
|
281
|
-
|
282
|
-
segments:
|
283
|
-
- 0
|
284
|
-
version: "0"
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: '0'
|
285
158
|
requirements: []
|
286
|
-
|
287
159
|
rubyforge_project:
|
288
|
-
rubygems_version:
|
160
|
+
rubygems_version: 2.2.2
|
289
161
|
signing_key:
|
290
|
-
specification_version:
|
291
|
-
summary: Client and server for STOMP protocol that operate outboard of separately
|
162
|
+
specification_version: 4
|
163
|
+
summary: Client and server for STOMP protocol that operate outboard of separately
|
164
|
+
supplied network connection.
|
292
165
|
test_files: []
|
293
|
-
|