opal-actioncable 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/opal-actioncable/version.rb +1 -1
- data/opal/action_cable/connection.rb +5 -1
- data/opal/action_cable/consumer.rb +20 -19
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb888a04e6ababbd2a42b5df4da76631f8e52442
|
4
|
+
data.tar.gz: bed2a15fd759297c4e80ac65f7c2054fd3eca33b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eeff47524c87c954267e3472beccfd37586f3c73b37296beddfdb8a904563211823542adaa15e41c0dae8547e9ef9f96909e14c4c32f1f431971502e88e45f5b
|
7
|
+
data.tar.gz: ffd9aafe2c76b9eb8465e58e4a8297d6e42f94ae7cbe9800228dca5532efb8e7ac2afe8dea7757fb3c1d9646b692b8b22f22e2a32209c08f7bcbff43a6d03fe5
|
@@ -3,6 +3,9 @@ class ActionCable::Connection
|
|
3
3
|
|
4
4
|
def initialize consumer
|
5
5
|
@native = `new ActionCable.Connection(#{consumer})`
|
6
|
+
@subscriptions = consumer.subscriptions
|
7
|
+
@monitor = ConnectionMonitor.new self
|
8
|
+
|
6
9
|
%x{
|
7
10
|
Opal.defn(self.$class(), 'send', function(){ return self.$delegate_native('send', arguments); });
|
8
11
|
Opal.defn(self.$class(), 'open', function(){ return self.$delegate_native('open', arguments); });
|
@@ -20,10 +23,11 @@ class ActionCable::Connection
|
|
20
23
|
end
|
21
24
|
|
22
25
|
def send data
|
26
|
+
data = `#{`#{data}['$is_a?']` ? data.to_n : data}`
|
23
27
|
`#{@native}.send(#{data})`
|
24
28
|
end
|
25
29
|
|
26
|
-
def delegate_native name, args
|
30
|
+
def delegate_native name, args=nil
|
27
31
|
`#{@native}[#{name}].apply(#{@native}, args)`
|
28
32
|
end
|
29
33
|
|
@@ -1,31 +1,32 @@
|
|
1
|
-
class ActionCable::
|
1
|
+
class ActionCable::Consumer
|
2
2
|
include Native::Helpers
|
3
|
+
attr_reader :subscriptions, :connection, :connectionMonitor
|
3
4
|
|
4
|
-
def initialize
|
5
|
-
@
|
5
|
+
def initialize url
|
6
|
+
@url = url
|
7
|
+
@subscriptions = ActionCable::Subscriptions.new self
|
8
|
+
@connection = ActionCable::Connection.new self
|
6
9
|
%x{
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
Opal.defn(self.$class(), 'getProtocol', function(){ return self.$delegate_native('getProtocol', arguments); });
|
12
|
-
Opal.defn(self.$class(), 'isOpen', function(){ return self.$delegate_native('isOpen', arguments); });
|
13
|
-
Opal.defn(self.$class(), 'isActive', function(){ return self.$delegate_native('isActive', arguments); });
|
14
|
-
Opal.defn(self.$class(), 'isProtocolSupported', function(){ return self.$delegate_native('isProtocolSupported', arguments); });
|
15
|
-
Opal.defn(self.$class(), 'isState', function(){ return self.$delegate_native('isState', arguments); });
|
16
|
-
Opal.defn(self.$class(), 'getState', function(){ return self.$delegate_native('getState', arguments); });
|
17
|
-
Opal.defn(self.$class(), 'installEventHandlers', function(){ return self.$delegate_native('installEventHandlers', arguments); });
|
18
|
-
Opal.defn(self.$class(), 'uninstallEventHandlers', function(){ return self.$delegate_native('uninstallEventHandlers', arguments); });
|
10
|
+
Opal.defn(self.$class(), 'send', #{self}.$send);
|
11
|
+
Opal.defn(self.$class(), 'connect', #{self}.$connect);
|
12
|
+
Opal.defn(self.$class(), 'disconnect', #{self}.$disconnect);
|
13
|
+
Opal.defn(self.$class(), 'ensureActiveConnection', #{self}.$ensureActiveConnection);
|
19
14
|
}
|
20
15
|
end
|
21
16
|
|
22
17
|
def send data
|
23
|
-
|
18
|
+
@connection.send data
|
24
19
|
end
|
25
20
|
|
26
|
-
def
|
27
|
-
`#{@
|
21
|
+
def connect
|
22
|
+
`#{@connection}.open()`
|
28
23
|
end
|
29
24
|
|
30
|
-
|
25
|
+
def disconnect
|
26
|
+
`#{@connection}.close({allowReconnect: false})`
|
27
|
+
end
|
28
|
+
|
29
|
+
def ensureActiveConnection
|
30
|
+
connect if `!#{@connection}.isActive()`
|
31
|
+
end
|
31
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal-actioncable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jose Añasco
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-05-
|
12
|
+
date: 2016-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: opal
|
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
68
|
version: '0'
|
69
69
|
requirements: []
|
70
70
|
rubyforge_project:
|
71
|
-
rubygems_version: 2.4.5
|
71
|
+
rubygems_version: 2.4.5
|
72
72
|
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: ActionCable adapter for Opal
|