cloud_powers 0.2.7.19 → 0.2.7.20
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 +4 -4
- data/.gitignore +1 -0
- data/cloud_powers.gemspec +2 -2
- data/lib/cloud_powers/synapse/websocket/websocclient.rb +30 -10
- data/lib/cloud_powers/synapse/websocket/websocserver.rb +18 -15
- data/lib/cloud_powers/version.rb +1 -1
- metadata +5 -4
- data/lib/cloud_powers/synapse/websocket/websocket_adam.rb +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b1330146d000a13aee319704a78f3c5004c840ae
|
4
|
+
data.tar.gz: 2054b12b0dea8add6a54eb7ec067012c6d1ed2aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abe4c93e185385357d00f1fbf90fd4ef3d9d7a8614cac1434237f4ccfd2c15f7a1fab8d06752f9c090a832ae2a01e9cd372d0d885c34125ed317272cd928fa9c
|
7
|
+
data.tar.gz: 6018ca2cdf684460ad3935d9a721cf1848a811bf54a870c6adcd5b650624d1df236bd1aaedf5d01e9e1423770977bd41590d9f25d02532f65dd7fdd8baed1f39
|
data/.gitignore
CHANGED
data/cloud_powers.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.required_ruby_version = '~> 2.3.0'
|
8
8
|
spec.name = 'cloud_powers'
|
9
9
|
spec.version = CloudPowers::VERSION
|
10
|
-
spec.authors = ['Adam Phillipps', 'Faisal Irfan']
|
11
|
-
spec.email = ['adam.phillipps@gmail.com', '
|
10
|
+
spec.authors = ['Adam Phillipps', 'Faisal Irfan', 'Gerardo Parajeles']
|
11
|
+
spec.email = ['adam.phillipps@gmail.com', 'faisal@smashanalytics.com', 'gerardo@smashanalytics.com']
|
12
12
|
spec.summary = %q{Cloud providers wrapper. Currently only AWS is supported.}
|
13
13
|
spec.description = <<-EOF
|
14
14
|
CloudPowers is a wrapper around AWS and in the future, other cloud service Providers.
|
@@ -4,34 +4,54 @@ module Smash
|
|
4
4
|
module CloudPowers
|
5
5
|
module Synapse
|
6
6
|
module WebSocClient
|
7
|
-
|
7
|
+
|
8
|
+
def create_websoc_client(opts = {})
|
9
|
+
|
8
10
|
EM.run do
|
9
11
|
|
10
|
-
ws = WebSocket::EventMachine::Client.connect(:uri => 'ws://' + host + ':' + port)
|
12
|
+
ws = WebSocket::EventMachine::Client.connect(:uri => 'ws://' + opts[:host] + ':' + opts[:port])
|
13
|
+
add_to_clients(opts[:name],ws)
|
11
14
|
|
12
|
-
|
15
|
+
open_callback = opts[:on_open] || Proc.new do
|
13
16
|
puts "Connected"
|
14
17
|
end
|
15
18
|
|
16
|
-
ws.
|
19
|
+
ws.onopen &open_callback
|
20
|
+
|
21
|
+
on_message_callback = opts[:on_message] || Proc.new do |msg, type|
|
17
22
|
puts "Received message: #{msg}"
|
18
23
|
end
|
19
|
-
|
20
|
-
ws.
|
24
|
+
|
25
|
+
ws.onmessage &on_message_callback
|
26
|
+
|
27
|
+
on_error_callback = opts[:on_error] || Proc.new do |error|
|
21
28
|
puts "Error ==> #{error}"
|
22
29
|
end
|
23
30
|
|
24
|
-
ws.
|
31
|
+
ws.onerror &on_error_callback
|
32
|
+
|
33
|
+
on_close_callback = opts[:on_close] || Proc.new do |code, reason|
|
25
34
|
puts "Disconnected with status code: #{code}"
|
26
35
|
puts "Disconnected with status message: #{reason}"
|
27
36
|
end
|
28
37
|
|
29
|
-
|
30
|
-
|
31
|
-
|
38
|
+
ws.onclose &on_close_callback
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
def add_to_clients(name,client)
|
45
|
+
begin
|
46
|
+
@clients[name] = client
|
47
|
+
rescue NoMethodError => e
|
48
|
+
puts e.backtrace
|
49
|
+
puts "no client hash is available"
|
32
50
|
end
|
33
51
|
end
|
34
52
|
end
|
35
53
|
end
|
36
54
|
end
|
37
55
|
end
|
56
|
+
|
57
|
+
|
@@ -1,43 +1,46 @@
|
|
1
1
|
require 'websocket-eventmachine-server'
|
2
|
-
|
3
2
|
module Smash
|
4
3
|
module CloudPowers
|
5
4
|
module Synapse
|
6
5
|
module WebSocServer
|
7
|
-
def create_websoc_server(
|
8
|
-
|
6
|
+
def create_websoc_server(opts = {})
|
7
|
+
channel = opts[:channel] || EM::Channel.new
|
9
8
|
Thread.new do
|
10
9
|
EM.run do
|
11
|
-
WebSocket::EventMachine::Server.start(:host => host, :port => port) do |ws|
|
10
|
+
WebSocket::EventMachine::Server.start(:host => opts[:host], :port => opts[:port]) do |ws|
|
12
11
|
sid = nil
|
13
12
|
|
14
|
-
|
13
|
+
open_callback = opts[:on_open] || Proc.new do
|
15
14
|
puts "Client connected"
|
16
|
-
sid =
|
15
|
+
sid = channel.subscribe { |msg| ws.send msg }
|
17
16
|
end
|
17
|
+
ws.onopen &open_callback
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
@channel.push "<#{sid}>: #{msg}"
|
19
|
+
on_message_callback = opts[:on_message] || Proc.new do |msg, type|
|
20
|
+
@current_websocket_message = msg
|
22
21
|
end
|
22
|
+
ws.onmessage &on_message_callback
|
23
23
|
|
24
|
-
|
24
|
+
on_error_callback = opts[:on_error] || Proc.new do |error|
|
25
25
|
puts "Error occured: #{error}"
|
26
26
|
end
|
27
|
+
ws.onerror &on_error_callback
|
27
28
|
|
28
|
-
|
29
|
+
on_close_callback = opts[:on_close] || Proc.new do
|
29
30
|
puts "Client disconnected"
|
30
|
-
|
31
|
+
channel.unsubscribe(sid) unless channel.nil?
|
31
32
|
end
|
33
|
+
ws.onclose &on_close_callback
|
32
34
|
end
|
33
35
|
end
|
34
36
|
end
|
37
|
+
channel
|
35
38
|
end
|
36
39
|
|
37
|
-
def send( msg
|
38
|
-
|
40
|
+
def send(channel, msg)
|
41
|
+
channel.push msg
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
42
45
|
end
|
43
|
-
end
|
46
|
+
end
|
data/lib/cloud_powers/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloud_powers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.7.
|
4
|
+
version: 0.2.7.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Phillipps
|
8
8
|
- Faisal Irfan
|
9
|
+
- Gerardo Parajeles
|
9
10
|
autorequire:
|
10
11
|
bindir: exe
|
11
12
|
cert_chain: []
|
12
|
-
date: 2016-10-
|
13
|
+
date: 2016-10-26 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: activesupport-core-ext
|
@@ -211,7 +212,8 @@ description: |2
|
|
211
212
|
Enjoy!
|
212
213
|
email:
|
213
214
|
- adam.phillipps@gmail.com
|
214
|
-
-
|
215
|
+
- faisal@smashanalytics.com
|
216
|
+
- gerardo@smashanalytics.com
|
215
217
|
executables: []
|
216
218
|
extensions: []
|
217
219
|
extra_rdoc_files: []
|
@@ -245,7 +247,6 @@ files:
|
|
245
247
|
- lib/cloud_powers/synapse/queue/queue.rb
|
246
248
|
- lib/cloud_powers/synapse/synapse.rb
|
247
249
|
- lib/cloud_powers/synapse/websocket/websocclient.rb
|
248
|
-
- lib/cloud_powers/synapse/websocket/websocket_adam.rb
|
249
250
|
- lib/cloud_powers/synapse/websocket/websocserver.rb
|
250
251
|
- lib/cloud_powers/version.rb
|
251
252
|
- lib/cloud_powers/workflow_factory.rb
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'websocket-eventmachine-server'
|
2
|
-
module Smash
|
3
|
-
module CloudPowers
|
4
|
-
module Synapse
|
5
|
-
module WebSocServer
|
6
|
-
def create_wesoc_server(opts = {})
|
7
|
-
channel = opts[:channel] || EM::Channel.new
|
8
|
-
Thread.new do
|
9
|
-
Em.run do
|
10
|
-
WebSocket::EventMachine::Server.start(:host => host, :port => port) do |ws|
|
11
|
-
sid = nil
|
12
|
-
|
13
|
-
open_callback = opts[:on_open] || Proc.new do
|
14
|
-
puts "Client connected"
|
15
|
-
sid = channel.subscribe { |msg| ws.send msg }
|
16
|
-
end
|
17
|
-
ws.onopen { open_callback }
|
18
|
-
|
19
|
-
on_message_callback = opts[:on_message] || Proc.new do |msg, type|
|
20
|
-
@current_websocket_message = msg
|
21
|
-
end
|
22
|
-
ws.onmessage { on_message_callback }
|
23
|
-
|
24
|
-
on_error_callback = opts[:on_error] || Proc.new do |error|
|
25
|
-
puts "Error occured: #{error}"
|
26
|
-
end
|
27
|
-
ws.onerror { on_error_callback }
|
28
|
-
|
29
|
-
on_close_callback = opts[:on_close] || Proc.new do
|
30
|
-
puts "Client disconnected"
|
31
|
-
channel.unsubscribe(sid) unless channel.nil?
|
32
|
-
end
|
33
|
-
ws.onclose { on_close_callback }
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
channel
|
38
|
-
end
|
39
|
-
|
40
|
-
def send(channel, msg)
|
41
|
-
channel.push msg
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|