oceanex-slanger 0.7.2.0 → 0.7.3.0
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/slanger/channel.rb +5 -4
- data/lib/slanger/lua/channel_attend.lua +9 -0
- data/lib/slanger/lua/channel_leave.lua +8 -0
- data/lib/slanger/redis.rb +8 -0
- data/lib/slanger/version.rb +1 -1
- data/lib/slanger/web_socket_server.rb +4 -0
- metadata +7 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c29aabb135c13b3f60f650980b9472e0c14658d64e54054727fef3c14939d886
|
4
|
+
data.tar.gz: 512bc1d00c219b385cacf852d023eca1f52aa6b18eded305729ac832399917db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bcdd9a96fc8de94b85bf9f8b438146127b474464c8a5e6bb235c85e5c76af2b05bd6ffa5ab92ab16257afed4a065fdc3e47e74b486903ba2e7ca44f6c6887b3b
|
7
|
+
data.tar.gz: e3b06bcc9e8fd6540f058be92c91f9027b205dd227fdd87afd896d6bf0bc52cc4ae55fa6a0a416ce74ec499cd6e48b5f57f1fe3cfbb2db00a36c0263d482790f
|
data/lib/slanger/channel.rb
CHANGED
@@ -12,7 +12,8 @@ require "oj"
|
|
12
12
|
module Slanger
|
13
13
|
class Channel
|
14
14
|
extend Forwardable
|
15
|
-
|
15
|
+
CHANNEL_SUBSCRIBER_COUNT_KEY = "channel_subscriber_count"
|
16
|
+
CHANNEL_VACATED_DICT = "channel_vacated_dict"
|
16
17
|
def_delegators :channel, :push
|
17
18
|
attr_reader :channel_id
|
18
19
|
|
@@ -56,7 +57,7 @@ module Slanger
|
|
56
57
|
end
|
57
58
|
|
58
59
|
def subscribe(*a, &blk)
|
59
|
-
Slanger::Redis.
|
60
|
+
Slanger::Redis.channel_attend([CHANNEL_SUBSCRIBER_COUNT_KEY], [channel_id]).
|
60
61
|
callback do |value|
|
61
62
|
Slanger::Webhook.post name: "channel_occupied", channel: channel_id if value == 1
|
62
63
|
end
|
@@ -65,9 +66,9 @@ module Slanger
|
|
65
66
|
end
|
66
67
|
|
67
68
|
def unsubscribe(*a, &blk)
|
68
|
-
Slanger::Redis.
|
69
|
+
Slanger::Redis.channel_leave([CHANNEL_SUBSCRIBER_COUNT_KEY], [channel_id]).
|
69
70
|
callback do |value|
|
70
|
-
Slanger::Webhook.post name: "channel_vacated", channel: channel_id if value ==
|
71
|
+
Slanger::Webhook.post name: "channel_vacated", channel: channel_id if value == 1
|
71
72
|
end
|
72
73
|
|
73
74
|
channel.unsubscribe *a, &blk
|
data/lib/slanger/redis.rb
CHANGED
@@ -34,6 +34,14 @@ module Slanger
|
|
34
34
|
send_command :hdel, *arg
|
35
35
|
end
|
36
36
|
|
37
|
+
def channel_leave(*arg)
|
38
|
+
send_command :channel_leave, *arg
|
39
|
+
end
|
40
|
+
|
41
|
+
def channel_attend(*arg)
|
42
|
+
send_command :channel_attend, *arg
|
43
|
+
end
|
44
|
+
|
37
45
|
def hgetall(*arg)
|
38
46
|
send_command :hgetall, *arg
|
39
47
|
end
|
data/lib/slanger/version.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
$:.unshift(File.expand_path('../../lib', __FILE__))
|
2
|
+
require 'em-hiredis'
|
1
3
|
require "eventmachine"
|
2
4
|
require "em-websocket"
|
3
5
|
|
@@ -10,6 +12,8 @@ module Slanger
|
|
10
12
|
end
|
11
13
|
|
12
14
|
EM.run do
|
15
|
+
scripts_dir = File.expand_path("../lua", __FILE__)
|
16
|
+
EM::Hiredis::Client.load_scripts_from(scripts_dir)
|
13
17
|
options = {
|
14
18
|
host: Slanger::Config[:websocket_host],
|
15
19
|
port: Slanger::Config[:websocket_port],
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: oceanex-slanger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joblee
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2022-03-16 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: eventmachine
|
@@ -329,6 +329,8 @@ files:
|
|
329
329
|
- lib/slanger/connection.rb
|
330
330
|
- lib/slanger/handler.rb
|
331
331
|
- lib/slanger/logger.rb
|
332
|
+
- lib/slanger/lua/channel_attend.lua
|
333
|
+
- lib/slanger/lua/channel_leave.lua
|
332
334
|
- lib/slanger/presence_channel.rb
|
333
335
|
- lib/slanger/presence_subscription.rb
|
334
336
|
- lib/slanger/private_subscription.rb
|
@@ -358,7 +360,7 @@ licenses:
|
|
358
360
|
- MIT
|
359
361
|
metadata:
|
360
362
|
homepage_uri: https://github.com/OceanEx/slanger
|
361
|
-
source_code_uri: https://github.com/OceanEx/slanger/archive/v0.7.
|
363
|
+
source_code_uri: https://github.com/OceanEx/slanger/archive/v0.7.3.0.zip
|
362
364
|
changelog_uri: https://github.com/OceanEx/slanger/releases
|
363
365
|
post_install_message:
|
364
366
|
rdoc_options: []
|
@@ -368,14 +370,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
368
370
|
requirements:
|
369
371
|
- - ">="
|
370
372
|
- !ruby/object:Gem::Version
|
371
|
-
version:
|
373
|
+
version: 2.6.3
|
372
374
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
373
375
|
requirements:
|
374
376
|
- - ">="
|
375
377
|
- !ruby/object:Gem::Version
|
376
378
|
version: '0'
|
377
379
|
requirements: []
|
378
|
-
rubygems_version: 3.
|
380
|
+
rubygems_version: 3.0.3
|
379
381
|
signing_key:
|
380
382
|
specification_version: 4
|
381
383
|
summary: A websocket service compatible with Pusher libraries
|