cubism 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +120 -89
- data/app/channels/cubism/presence_channel.rb +4 -0
- data/cubism.gemspec~ +1 -1
- data/lib/cubism/preprocessor.rb +12 -1
- data/lib/cubism/version.rb +1 -1
- data/package.json +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 57b07ebb0e4be69fc3547a79061710ecbbae9718fbc369052e020dc4062967fe
|
4
|
+
data.tar.gz: bfedff76bdf839db5e58d96a9abb7f4a13f20f909154a1294c6d92eb3d965ed4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7e5240cf040e37c614a2f6a6e3313dc52ca3e361a1dd64a312070e1a8fb19ec3117de68357c67e266b9e28817aec051b02b0b759e67ba998731fa5a6afd56c52
|
7
|
+
data.tar.gz: fc43eb982192114e6e975b63b0468eafd37d049f5989ea16ffa7250b7c469700c4cd5e4611677164ede6d60f8a14cf3c094cfd57328ce1c3fc0af863ef921532
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cubism (0.
|
4
|
+
cubism (0.2.0)
|
5
5
|
cable_ready (>= 5.0.0)
|
6
6
|
kredis (>= 0.4)
|
7
7
|
rails (>= 6.0)
|
@@ -9,98 +9,114 @@ PATH
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
actioncable (7.
|
13
|
-
actionpack (= 7.
|
14
|
-
activesupport (= 7.
|
12
|
+
actioncable (7.1.3.2)
|
13
|
+
actionpack (= 7.1.3.2)
|
14
|
+
activesupport (= 7.1.3.2)
|
15
15
|
nio4r (~> 2.0)
|
16
16
|
websocket-driver (>= 0.6.1)
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
17
|
+
zeitwerk (~> 2.6)
|
18
|
+
actionmailbox (7.1.3.2)
|
19
|
+
actionpack (= 7.1.3.2)
|
20
|
+
activejob (= 7.1.3.2)
|
21
|
+
activerecord (= 7.1.3.2)
|
22
|
+
activestorage (= 7.1.3.2)
|
23
|
+
activesupport (= 7.1.3.2)
|
23
24
|
mail (>= 2.7.1)
|
24
25
|
net-imap
|
25
26
|
net-pop
|
26
27
|
net-smtp
|
27
|
-
actionmailer (7.
|
28
|
-
actionpack (= 7.
|
29
|
-
actionview (= 7.
|
30
|
-
activejob (= 7.
|
31
|
-
activesupport (= 7.
|
28
|
+
actionmailer (7.1.3.2)
|
29
|
+
actionpack (= 7.1.3.2)
|
30
|
+
actionview (= 7.1.3.2)
|
31
|
+
activejob (= 7.1.3.2)
|
32
|
+
activesupport (= 7.1.3.2)
|
32
33
|
mail (~> 2.5, >= 2.5.4)
|
33
34
|
net-imap
|
34
35
|
net-pop
|
35
36
|
net-smtp
|
36
|
-
rails-dom-testing (~> 2.
|
37
|
-
actionpack (7.
|
38
|
-
actionview (= 7.
|
39
|
-
activesupport (= 7.
|
40
|
-
|
37
|
+
rails-dom-testing (~> 2.2)
|
38
|
+
actionpack (7.1.3.2)
|
39
|
+
actionview (= 7.1.3.2)
|
40
|
+
activesupport (= 7.1.3.2)
|
41
|
+
nokogiri (>= 1.8.5)
|
42
|
+
racc
|
43
|
+
rack (>= 2.2.4)
|
44
|
+
rack-session (>= 1.0.1)
|
41
45
|
rack-test (>= 0.6.3)
|
42
|
-
rails-dom-testing (~> 2.
|
43
|
-
rails-html-sanitizer (~> 1.
|
44
|
-
actiontext (7.
|
45
|
-
actionpack (= 7.
|
46
|
-
activerecord (= 7.
|
47
|
-
activestorage (= 7.
|
48
|
-
activesupport (= 7.
|
46
|
+
rails-dom-testing (~> 2.2)
|
47
|
+
rails-html-sanitizer (~> 1.6)
|
48
|
+
actiontext (7.1.3.2)
|
49
|
+
actionpack (= 7.1.3.2)
|
50
|
+
activerecord (= 7.1.3.2)
|
51
|
+
activestorage (= 7.1.3.2)
|
52
|
+
activesupport (= 7.1.3.2)
|
49
53
|
globalid (>= 0.6.0)
|
50
54
|
nokogiri (>= 1.8.5)
|
51
|
-
actionview (7.
|
52
|
-
activesupport (= 7.
|
55
|
+
actionview (7.1.3.2)
|
56
|
+
activesupport (= 7.1.3.2)
|
53
57
|
builder (~> 3.1)
|
54
|
-
erubi (~> 1.
|
55
|
-
rails-dom-testing (~> 2.
|
56
|
-
rails-html-sanitizer (~> 1.
|
57
|
-
activejob (7.
|
58
|
-
activesupport (= 7.
|
58
|
+
erubi (~> 1.11)
|
59
|
+
rails-dom-testing (~> 2.2)
|
60
|
+
rails-html-sanitizer (~> 1.6)
|
61
|
+
activejob (7.1.3.2)
|
62
|
+
activesupport (= 7.1.3.2)
|
59
63
|
globalid (>= 0.3.6)
|
60
|
-
activemodel (7.
|
61
|
-
activesupport (= 7.
|
62
|
-
activerecord (7.
|
63
|
-
activemodel (= 7.
|
64
|
-
activesupport (= 7.
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
64
|
+
activemodel (7.1.3.2)
|
65
|
+
activesupport (= 7.1.3.2)
|
66
|
+
activerecord (7.1.3.2)
|
67
|
+
activemodel (= 7.1.3.2)
|
68
|
+
activesupport (= 7.1.3.2)
|
69
|
+
timeout (>= 0.4.0)
|
70
|
+
activestorage (7.1.3.2)
|
71
|
+
actionpack (= 7.1.3.2)
|
72
|
+
activejob (= 7.1.3.2)
|
73
|
+
activerecord (= 7.1.3.2)
|
74
|
+
activesupport (= 7.1.3.2)
|
70
75
|
marcel (~> 1.0)
|
71
|
-
|
72
|
-
|
76
|
+
activesupport (7.1.3.2)
|
77
|
+
base64
|
78
|
+
bigdecimal
|
73
79
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
80
|
+
connection_pool (>= 2.2.5)
|
81
|
+
drb
|
74
82
|
i18n (>= 1.6, < 2)
|
75
83
|
minitest (>= 5.1)
|
84
|
+
mutex_m
|
76
85
|
tzinfo (~> 2.0)
|
77
86
|
appraisal (2.4.1)
|
78
87
|
bundler
|
79
88
|
rake
|
80
89
|
thor (>= 0.14.0)
|
81
90
|
ast (2.4.2)
|
91
|
+
base64 (0.2.0)
|
92
|
+
bigdecimal (3.1.7)
|
82
93
|
builder (3.2.4)
|
83
|
-
cable_ready (5.0.
|
94
|
+
cable_ready (5.0.3)
|
84
95
|
actionpack (>= 5.2)
|
85
96
|
actionview (>= 5.2)
|
86
97
|
activesupport (>= 5.2)
|
87
98
|
railties (>= 5.2)
|
88
99
|
thread-local (>= 1.1.0)
|
89
100
|
coderay (1.1.3)
|
90
|
-
concurrent-ruby (1.2.
|
101
|
+
concurrent-ruby (1.2.3)
|
91
102
|
connection_pool (2.4.1)
|
92
103
|
crass (1.0.6)
|
93
|
-
date (3.3.
|
104
|
+
date (3.3.4)
|
105
|
+
drb (2.2.1)
|
94
106
|
erubi (1.12.0)
|
95
107
|
globalid (1.2.1)
|
96
108
|
activesupport (>= 6.1)
|
97
|
-
i18n (1.14.
|
109
|
+
i18n (1.14.4)
|
98
110
|
concurrent-ruby (~> 1.0)
|
99
|
-
|
111
|
+
io-console (0.7.2)
|
112
|
+
irb (1.12.0)
|
113
|
+
rdoc
|
114
|
+
reline (>= 0.4.2)
|
115
|
+
kredis (1.7.0)
|
100
116
|
activemodel (>= 6.0.0)
|
101
117
|
activesupport (>= 6.0.0)
|
102
118
|
redis (>= 4.2, < 6)
|
103
|
-
loofah (2.
|
119
|
+
loofah (2.22.0)
|
104
120
|
crass (~> 1.0.2)
|
105
121
|
nokogiri (>= 1.12.0)
|
106
122
|
mail (2.8.1)
|
@@ -108,26 +124,27 @@ GEM
|
|
108
124
|
net-imap
|
109
125
|
net-pop
|
110
126
|
net-smtp
|
111
|
-
marcel (1.0.
|
127
|
+
marcel (1.0.4)
|
112
128
|
method_source (1.0.0)
|
113
129
|
mini_mime (1.1.5)
|
114
|
-
mini_portile2 (2.8.
|
115
|
-
minitest (5.
|
130
|
+
mini_portile2 (2.8.5)
|
131
|
+
minitest (5.22.3)
|
116
132
|
mocha (1.13.0)
|
133
|
+
mutex_m (0.2.0)
|
117
134
|
net-imap (0.3.7)
|
118
135
|
date
|
119
136
|
net-protocol
|
120
137
|
net-pop (0.1.2)
|
121
138
|
net-protocol
|
122
|
-
net-protocol (0.2.
|
139
|
+
net-protocol (0.2.2)
|
123
140
|
timeout
|
124
|
-
net-smtp (0.
|
141
|
+
net-smtp (0.5.0)
|
125
142
|
net-protocol
|
126
|
-
nio4r (2.
|
127
|
-
nokogiri (1.
|
128
|
-
mini_portile2 (~> 2.8.
|
143
|
+
nio4r (2.7.1)
|
144
|
+
nokogiri (1.15.6)
|
145
|
+
mini_portile2 (~> 2.8.2)
|
129
146
|
racc (~> 1.4)
|
130
|
-
nokogiri (1.
|
147
|
+
nokogiri (1.15.6-arm64-darwin)
|
131
148
|
racc (~> 1.4)
|
132
149
|
parallel (1.21.0)
|
133
150
|
parser (3.1.0.0)
|
@@ -135,24 +152,31 @@ GEM
|
|
135
152
|
pry (0.14.1)
|
136
153
|
coderay (~> 1.1)
|
137
154
|
method_source (~> 1.0)
|
138
|
-
|
139
|
-
|
155
|
+
psych (5.1.2)
|
156
|
+
stringio
|
157
|
+
racc (1.7.3)
|
158
|
+
rack (3.0.10)
|
159
|
+
rack-session (2.0.0)
|
160
|
+
rack (>= 3.0.0)
|
140
161
|
rack-test (2.1.0)
|
141
162
|
rack (>= 1.3)
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
163
|
+
rackup (2.1.0)
|
164
|
+
rack (>= 3)
|
165
|
+
webrick (~> 1.8)
|
166
|
+
rails (7.1.3.2)
|
167
|
+
actioncable (= 7.1.3.2)
|
168
|
+
actionmailbox (= 7.1.3.2)
|
169
|
+
actionmailer (= 7.1.3.2)
|
170
|
+
actionpack (= 7.1.3.2)
|
171
|
+
actiontext (= 7.1.3.2)
|
172
|
+
actionview (= 7.1.3.2)
|
173
|
+
activejob (= 7.1.3.2)
|
174
|
+
activemodel (= 7.1.3.2)
|
175
|
+
activerecord (= 7.1.3.2)
|
176
|
+
activestorage (= 7.1.3.2)
|
177
|
+
activesupport (= 7.1.3.2)
|
154
178
|
bundler (>= 1.15.0)
|
155
|
-
railties (= 7.
|
179
|
+
railties (= 7.1.3.2)
|
156
180
|
rails-dom-testing (2.2.0)
|
157
181
|
activesupport (>= 5.0.0)
|
158
182
|
minitest
|
@@ -160,20 +184,25 @@ GEM
|
|
160
184
|
rails-html-sanitizer (1.6.0)
|
161
185
|
loofah (~> 2.21)
|
162
186
|
nokogiri (~> 1.14)
|
163
|
-
railties (7.
|
164
|
-
actionpack (= 7.
|
165
|
-
activesupport (= 7.
|
166
|
-
|
187
|
+
railties (7.1.3.2)
|
188
|
+
actionpack (= 7.1.3.2)
|
189
|
+
activesupport (= 7.1.3.2)
|
190
|
+
irb
|
191
|
+
rackup (>= 1.0.0)
|
167
192
|
rake (>= 12.2)
|
168
|
-
thor (~> 1.0)
|
169
|
-
zeitwerk (~> 2.
|
193
|
+
thor (~> 1.0, >= 1.2.2)
|
194
|
+
zeitwerk (~> 2.6)
|
170
195
|
rainbow (3.0.0)
|
171
|
-
rake (13.0
|
172
|
-
|
173
|
-
|
174
|
-
redis
|
196
|
+
rake (13.1.0)
|
197
|
+
rdoc (6.6.3.1)
|
198
|
+
psych (>= 4.0.0)
|
199
|
+
redis (5.1.0)
|
200
|
+
redis-client (>= 0.17.0)
|
201
|
+
redis-client (0.21.1)
|
175
202
|
connection_pool
|
176
203
|
regexp_parser (2.2.0)
|
204
|
+
reline (0.5.0)
|
205
|
+
io-console (~> 0.5)
|
177
206
|
rexml (3.2.5)
|
178
207
|
rubocop (1.23.0)
|
179
208
|
parallel (~> 1.10)
|
@@ -194,16 +223,18 @@ GEM
|
|
194
223
|
standard (1.5.0)
|
195
224
|
rubocop (= 1.23.0)
|
196
225
|
rubocop-performance (= 1.12.0)
|
197
|
-
|
226
|
+
stringio (3.1.0)
|
227
|
+
thor (1.3.1)
|
198
228
|
thread-local (1.1.0)
|
199
|
-
timeout (0.4.
|
229
|
+
timeout (0.4.1)
|
200
230
|
tzinfo (2.0.6)
|
201
231
|
concurrent-ruby (~> 1.0)
|
202
232
|
unicode-display_width (2.1.0)
|
233
|
+
webrick (1.8.1)
|
203
234
|
websocket-driver (0.7.6)
|
204
235
|
websocket-extensions (>= 0.1.0)
|
205
236
|
websocket-extensions (0.1.5)
|
206
|
-
zeitwerk (2.6.
|
237
|
+
zeitwerk (2.6.13)
|
207
238
|
|
208
239
|
PLATFORMS
|
209
240
|
arm64-darwin-21
|
@@ -21,10 +21,14 @@ class Cubism::PresenceChannel < ActionCable::Channel::Base
|
|
21
21
|
|
22
22
|
def appear
|
23
23
|
resource.set_present_users_for_scope(resource.present_users_for_scope(scope).add(user.id), scope) if scope
|
24
|
+
rescue ActiveRecord::RecordNotFound
|
25
|
+
# do nothing if the user wasn't found
|
24
26
|
end
|
25
27
|
|
26
28
|
def disappear
|
27
29
|
resource.set_present_users_for_scope(resource.present_users_for_scope(scope).delete(user.id), scope) if scope
|
30
|
+
rescue ActiveRecord::RecordNotFound
|
31
|
+
# do nothing if the user wasn't found
|
28
32
|
end
|
29
33
|
|
30
34
|
private
|
data/cubism.gemspec~
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_dependency "rails", ">= 6.0"
|
28
28
|
spec.add_dependency "kredis", ">= 0.4"
|
29
|
-
spec.add_dependency "cable_ready", "
|
29
|
+
spec.add_dependency "cable_ready", ">= 5.0.0"
|
30
30
|
|
31
31
|
spec.add_development_dependency "standard"
|
32
32
|
spec.add_development_dependency "nokogiri"
|
data/lib/cubism/preprocessor.rb
CHANGED
@@ -14,6 +14,7 @@ module Cubism
|
|
14
14
|
begin
|
15
15
|
do_parse
|
16
16
|
rescue NameError
|
17
|
+
# TODO we need a better way to handle this, leads to false negatives
|
17
18
|
# we ignore any name errors from unset instance variables or local assigns here
|
18
19
|
end
|
19
20
|
|
@@ -23,11 +24,21 @@ module Cubism
|
|
23
24
|
private
|
24
25
|
|
25
26
|
def do_parse
|
26
|
-
ActionView::Template::Handlers::ERB::Erubi.new(@source)
|
27
|
+
erubi = ActionView::Template::Handlers::ERB::Erubi.new(@source)
|
28
|
+
|
29
|
+
evaluate_view(erubi, @view_context)
|
27
30
|
rescue SyntaxError
|
28
31
|
end_at_end = /(<%\s+end\s+%>)\z/.match(@source)
|
29
32
|
@source = end_at_end ? @source[..-(end_at_end[0].length + 1)] : @source[..-2]
|
30
33
|
do_parse
|
31
34
|
end
|
35
|
+
|
36
|
+
def evaluate_view(erubi, view_context)
|
37
|
+
view = Class.new(ActionView::Base) {
|
38
|
+
include view_context._routes.url_helpers
|
39
|
+
class_eval("define_method(:_template) { |local_assigns, output_buffer| #{erubi.src} }", erubi.filename.nil? ? "(erubi)" : erubi.filename, 0)
|
40
|
+
}.empty
|
41
|
+
view._run(:_template, nil, {}, ActionView::OutputBuffer.new)
|
42
|
+
end
|
32
43
|
end
|
33
44
|
end
|
data/lib/cubism/version.rb
CHANGED
data/package.json
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cubism
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Julian Rubisch
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -217,7 +217,7 @@ licenses:
|
|
217
217
|
metadata:
|
218
218
|
homepage_uri: https://github.com/julianrubisch/cubism
|
219
219
|
source_code_uri: https://github.com/julianrubisch/cubism.git
|
220
|
-
post_install_message:
|
220
|
+
post_install_message:
|
221
221
|
rdoc_options: []
|
222
222
|
require_paths:
|
223
223
|
- lib
|
@@ -233,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
233
|
version: '0'
|
234
234
|
requirements: []
|
235
235
|
rubygems_version: 3.1.4
|
236
|
-
signing_key:
|
236
|
+
signing_key:
|
237
237
|
specification_version: 4
|
238
238
|
summary: Lightweight Resource-Based Presence Solution with CableReady
|
239
239
|
test_files:
|