opal-actioncable 0.2.0 → 0.2.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 +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
|