cable_ready 4.4.3 → 5.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +238 -155
- data/Gemfile.lock +144 -100
- data/LATEST +1 -0
- data/README.md +13 -13
- data/Rakefile +8 -2
- data/app/channels/cable_ready/stream.rb +12 -0
- data/app/helpers/cable_ready_helper.rb +11 -0
- data/app/jobs/cable_ready_broadcast_job.rb +14 -0
- data/bin/standardize +1 -1
- data/lib/cable_ready.rb +41 -0
- data/lib/cable_ready/broadcaster.rb +3 -4
- data/lib/cable_ready/cable_car.rb +17 -0
- data/lib/cable_ready/channel.rb +14 -36
- data/lib/cable_ready/channels.rb +22 -65
- data/lib/cable_ready/compoundable.rb +11 -0
- data/lib/cable_ready/config.rb +78 -0
- data/lib/cable_ready/identifiable.rb +19 -0
- data/lib/cable_ready/operation_builder.rb +69 -0
- data/lib/cable_ready/sanity_checker.rb +151 -0
- data/lib/cable_ready/stream_identifier.rb +13 -0
- data/lib/cable_ready/version.rb +1 -1
- data/lib/generators/cable_ready/channel_generator.rb +71 -0
- data/lib/generators/cable_ready/initializer_generator.rb +14 -0
- data/lib/generators/cable_ready/stream_from_generator.rb +43 -0
- data/lib/generators/cable_ready/templates/config/initializers/cable_ready.rb +18 -0
- data/test/lib/cable_ready/cable_car_test.rb +28 -0
- data/test/lib/cable_ready/identifiable_test.rb +75 -0
- data/test/lib/cable_ready/operation_builder_test.rb +128 -0
- data/test/lib/generators/cable_ready/channel_generator_test.rb +157 -0
- data/test/support/generator_test_helpers.rb +28 -0
- data/test/test_helper.rb +15 -0
- metadata +66 -15
- data/cable_ready.gemspec +0 -25
- data/package.json +0 -36
- data/tags +0 -57
- data/yarn.lock +0 -2552
@@ -0,0 +1,157 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "test_helper"
|
4
|
+
require "generators/cable_ready/channel_generator"
|
5
|
+
|
6
|
+
class CableReady::ChannelGeneratorTest < Rails::Generators::TestCase
|
7
|
+
include ::GeneratorTestHelpers
|
8
|
+
|
9
|
+
tests CableReady::ChannelGenerator
|
10
|
+
destination File.expand_path("../../../../tmp/dummy", __dir__)
|
11
|
+
|
12
|
+
prepare_destination
|
13
|
+
create_sample_app
|
14
|
+
|
15
|
+
MiniTest.after_run do
|
16
|
+
remove_sample_app
|
17
|
+
end
|
18
|
+
|
19
|
+
test "should generate channel with the same resource name and stimulus controller" do
|
20
|
+
run_generator ["user", "--stream-for=user", "--stimulus"]
|
21
|
+
|
22
|
+
assert_file "app/channels/user_channel.rb" do |content|
|
23
|
+
assert_match(/class\ UserChannel\ </, content)
|
24
|
+
assert_match(/stream_for\ User\.find\(params\[:id\]\)/, content)
|
25
|
+
end
|
26
|
+
|
27
|
+
assert_file "app/javascript/channels/user_channel.js", /"UserChannel"/
|
28
|
+
assert_file "app/javascript/controllers/user_controller.js", /'UserChannel'/
|
29
|
+
end
|
30
|
+
|
31
|
+
test "should generate channel with different resource name" do
|
32
|
+
run_generator ["my_name", "--stream-for=under_scored_resource_name", "--no-stimulus"]
|
33
|
+
|
34
|
+
assert_file "app/channels/my_name_channel.rb" do |content|
|
35
|
+
assert_match(/class\ MyNameChannel\ </, content)
|
36
|
+
assert_match(/stream_for\ UnderScoredResourceName\.find\(params\[:id\]\)/, content)
|
37
|
+
end
|
38
|
+
|
39
|
+
assert_file "app/javascript/channels/my_name_channel.js", /"MyNameChannel"/
|
40
|
+
assert_no_file "app/javascript/controllers/my_name_controller.js"
|
41
|
+
end
|
42
|
+
|
43
|
+
test "should not generate stimulus controller if not requested" do
|
44
|
+
run_generator ["comment", "--stream-for=comment", "--no-stimulus"]
|
45
|
+
|
46
|
+
assert_file "app/channels/comment_channel.rb"
|
47
|
+
assert_file "app/javascript/channels/comment_channel.js"
|
48
|
+
assert_no_file "app/javascript/controllers/comment_controller.js"
|
49
|
+
end
|
50
|
+
|
51
|
+
test "should run the generator when streaming from identifier" do
|
52
|
+
run_generator ["page", "--stream-from=page"]
|
53
|
+
|
54
|
+
assert_file "app/channels/page_channel.rb" do |content|
|
55
|
+
assert_match(/PageChannel/, content)
|
56
|
+
assert_match(/stream_from\ "page"/, content)
|
57
|
+
end
|
58
|
+
|
59
|
+
assert_file "app/javascript/channels/page_channel.js" do |content|
|
60
|
+
assert_match(/"PageChannel"/, content)
|
61
|
+
assert_match(/import\ CableReady/, content)
|
62
|
+
assert_match(/if\ \(data\.cableReady\)\ CableReady\.perform\(data\.operations\)/, content)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
test "should run the generator when streaming without resource and different identifier" do
|
67
|
+
run_generator ["my_page", "--stream-from=ThisIsMyPage"]
|
68
|
+
|
69
|
+
assert_file "app/channels/my_page_channel.rb" do |content|
|
70
|
+
assert_match(/MyPageChannel/, content)
|
71
|
+
assert_match(/stream_from\ "this_is_my_page"/, content)
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_file "app/javascript/channels/my_page_channel.js" do |content|
|
75
|
+
assert_match(/"MyPageChannel"/, content)
|
76
|
+
assert_match(/import\ CableReady/, content)
|
77
|
+
assert_match(/if\ \(data\.cableReady\)\ CableReady\.perform\(data\.operations\)/, content)
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
test "should run the generator and use the NAME for --stream-from if nothing passed" do
|
82
|
+
run_generator ["house", "--stream-from"]
|
83
|
+
|
84
|
+
assert_file "app/channels/house_channel.rb" do |content|
|
85
|
+
assert_match(/HouseChannel/, content)
|
86
|
+
assert_match(/stream_from\ "house"/, content)
|
87
|
+
end
|
88
|
+
|
89
|
+
assert_file "app/javascript/channels/house_channel.js" do |content|
|
90
|
+
assert_match(/"HouseChannel"/, content)
|
91
|
+
assert_match(/import\ CableReady/, content)
|
92
|
+
assert_match(/if\ \(data\.cableReady\)\ CableReady\.perform\(data\.operations\)/, content)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
test "should run the generator and use the NAME for --stream-for if nothing passed" do
|
97
|
+
run_generator ["option", "--stream-for", "--stimulus"]
|
98
|
+
|
99
|
+
assert_file "app/channels/option_channel.rb" do |content|
|
100
|
+
assert_match(/class\ OptionChannel\ </, content)
|
101
|
+
assert_match(/stream_for\ Option\.find\(params\[:id\]\)/, content)
|
102
|
+
end
|
103
|
+
|
104
|
+
assert_file "app/javascript/channels/option_channel.js", /"OptionChannel"/
|
105
|
+
assert_file "app/javascript/controllers/option_controller.js", /'OptionChannel'/
|
106
|
+
end
|
107
|
+
|
108
|
+
test "should run not generate anything if passed stream_from and stream_for" do
|
109
|
+
assert_raises "Can't specify --stream-from and --stream-for at the same time" do
|
110
|
+
run_generator ["error", "--stream-from=1", "--stream-for=2"]
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
# some tests without generator options to simulate the inputs passed via cli
|
115
|
+
|
116
|
+
test "should generate channel with the same resource name and stimulus controller (without options)" do
|
117
|
+
CableReady::ChannelGenerator.any_instance.stubs(:using_broadcast_to?).returns(true)
|
118
|
+
CableReady::ChannelGenerator.any_instance.stubs(:resource).returns("Post")
|
119
|
+
CableReady::ChannelGenerator.any_instance.stubs(:using_stimulus?).returns(true)
|
120
|
+
|
121
|
+
run_generator ["post"]
|
122
|
+
|
123
|
+
assert_file "app/channels/post_channel.rb" do |content|
|
124
|
+
assert_match(/class\ PostChannel\ </, content)
|
125
|
+
assert_match(/stream_for\ Post\.find\(params\[:id\]\)/, content)
|
126
|
+
end
|
127
|
+
|
128
|
+
assert_file "app/javascript/channels/post_channel.js", /PostChannel/
|
129
|
+
assert_file "app/javascript/controllers/post_controller.js", /'PostChannel'/
|
130
|
+
end
|
131
|
+
|
132
|
+
test "should not generate stimulus controller if not requested (without options)" do
|
133
|
+
CableReady::ChannelGenerator.any_instance.stubs(:using_broadcast_to?).returns(true)
|
134
|
+
CableReady::ChannelGenerator.any_instance.stubs(:resource).returns("Admin")
|
135
|
+
CableReady::ChannelGenerator.any_instance.stubs(:using_stimulus?).returns(false)
|
136
|
+
|
137
|
+
run_generator ["admin"]
|
138
|
+
|
139
|
+
assert_file "app/channels/admin_channel.rb"
|
140
|
+
assert_file "app/javascript/channels/admin_channel.js"
|
141
|
+
assert_no_file "app/javascript/controllers/admin_controller.js"
|
142
|
+
end
|
143
|
+
|
144
|
+
test "should run the generator when streaming from identifier (without options)" do
|
145
|
+
CableReady::ChannelGenerator.any_instance.stubs(:using_broadcast_to?).returns(false)
|
146
|
+
CableReady::ChannelGenerator.any_instance.stubs(:identifier).returns("index_identifier")
|
147
|
+
|
148
|
+
run_generator ["index"]
|
149
|
+
|
150
|
+
assert_file "app/channels/index_channel.rb" do |content|
|
151
|
+
assert_match(/IndexChannel/, content)
|
152
|
+
assert_match(/stream_from\ "index_identifier"/, content)
|
153
|
+
end
|
154
|
+
|
155
|
+
assert_file "app/javascript/channels/index_channel.js", /"IndexChannel"/
|
156
|
+
end
|
157
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module GeneratorTestHelpers
|
4
|
+
def self.included(base)
|
5
|
+
base.extend ClassMethods
|
6
|
+
end
|
7
|
+
|
8
|
+
module ClassMethods
|
9
|
+
def sample_app_path
|
10
|
+
File.expand_path("../../tmp/dummy", __dir__)
|
11
|
+
end
|
12
|
+
|
13
|
+
def prepare_destination
|
14
|
+
FileUtils.rm_rf(sample_app_path) if Dir.exist?(sample_app_path)
|
15
|
+
FileUtils.mkdir_p(sample_app_path)
|
16
|
+
end
|
17
|
+
|
18
|
+
def create_sample_app
|
19
|
+
FileUtils.cd(sample_app_path) do
|
20
|
+
system "rails new . --minimal --skip-active-record --skip-test-unit --skip-spring --skip-bundle --quiet --force"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def remove_sample_app
|
25
|
+
FileUtils.rm_rf(destination_root)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Configure Rails Environment
|
4
|
+
ENV["RAILS_ENV"] = "test"
|
5
|
+
|
6
|
+
require "mocha"
|
7
|
+
require "rails"
|
8
|
+
require "rails/generators"
|
9
|
+
require "rails/test_help"
|
10
|
+
require "minitest/mock"
|
11
|
+
require "mocha/minitest"
|
12
|
+
require "pry"
|
13
|
+
|
14
|
+
# Load support files
|
15
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cable_ready
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 5.0.0.pre1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Hopkins
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '5.2'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: thread-local
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.1.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.1.0
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: github_changelog_generator
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +122,21 @@ dependencies:
|
|
108
122
|
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
|
-
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: mocha
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
description:
|
112
140
|
email:
|
113
141
|
- natehop@gmail.com
|
114
142
|
executables: []
|
@@ -119,27 +147,44 @@ files:
|
|
119
147
|
- CODE_OF_CONDUCT.md
|
120
148
|
- Gemfile
|
121
149
|
- Gemfile.lock
|
150
|
+
- LATEST
|
122
151
|
- LICENSE.txt
|
123
152
|
- README.md
|
124
153
|
- Rakefile
|
154
|
+
- app/channels/cable_ready/stream.rb
|
155
|
+
- app/helpers/cable_ready_helper.rb
|
156
|
+
- app/jobs/cable_ready_broadcast_job.rb
|
125
157
|
- bin/console
|
126
158
|
- bin/loc
|
127
159
|
- bin/setup
|
128
160
|
- bin/standardize
|
129
|
-
- cable_ready.gemspec
|
130
161
|
- lib/cable_ready.rb
|
131
162
|
- lib/cable_ready/broadcaster.rb
|
163
|
+
- lib/cable_ready/cable_car.rb
|
132
164
|
- lib/cable_ready/channel.rb
|
133
165
|
- lib/cable_ready/channels.rb
|
166
|
+
- lib/cable_ready/compoundable.rb
|
167
|
+
- lib/cable_ready/config.rb
|
168
|
+
- lib/cable_ready/identifiable.rb
|
169
|
+
- lib/cable_ready/operation_builder.rb
|
170
|
+
- lib/cable_ready/sanity_checker.rb
|
171
|
+
- lib/cable_ready/stream_identifier.rb
|
134
172
|
- lib/cable_ready/version.rb
|
135
|
-
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
|
173
|
+
- lib/generators/cable_ready/channel_generator.rb
|
174
|
+
- lib/generators/cable_ready/initializer_generator.rb
|
175
|
+
- lib/generators/cable_ready/stream_from_generator.rb
|
176
|
+
- lib/generators/cable_ready/templates/config/initializers/cable_ready.rb
|
177
|
+
- test/lib/cable_ready/cable_car_test.rb
|
178
|
+
- test/lib/cable_ready/identifiable_test.rb
|
179
|
+
- test/lib/cable_ready/operation_builder_test.rb
|
180
|
+
- test/lib/generators/cable_ready/channel_generator_test.rb
|
181
|
+
- test/support/generator_test_helpers.rb
|
182
|
+
- test/test_helper.rb
|
183
|
+
homepage: https://github.com/stimulusreflex/cable_ready
|
139
184
|
licenses:
|
140
185
|
- MIT
|
141
186
|
metadata: {}
|
142
|
-
post_install_message:
|
187
|
+
post_install_message:
|
143
188
|
rdoc_options: []
|
144
189
|
require_paths:
|
145
190
|
- lib
|
@@ -150,12 +195,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
195
|
version: '0'
|
151
196
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
197
|
requirements:
|
153
|
-
- - "
|
198
|
+
- - ">"
|
154
199
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
200
|
+
version: 1.3.1
|
156
201
|
requirements: []
|
157
|
-
rubygems_version: 3.1.
|
158
|
-
signing_key:
|
202
|
+
rubygems_version: 3.1.6
|
203
|
+
signing_key:
|
159
204
|
specification_version: 4
|
160
205
|
summary: Out-of-Band Server Triggered DOM Operations
|
161
|
-
test_files:
|
206
|
+
test_files:
|
207
|
+
- test/support/generator_test_helpers.rb
|
208
|
+
- test/lib/generators/cable_ready/channel_generator_test.rb
|
209
|
+
- test/lib/cable_ready/cable_car_test.rb
|
210
|
+
- test/lib/cable_ready/identifiable_test.rb
|
211
|
+
- test/lib/cable_ready/operation_builder_test.rb
|
212
|
+
- test/test_helper.rb
|
data/cable_ready.gemspec
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.expand_path("../lib/cable_ready/version", __FILE__)
|
4
|
-
|
5
|
-
Gem::Specification.new do |gem|
|
6
|
-
gem.name = "cable_ready"
|
7
|
-
gem.license = "MIT"
|
8
|
-
gem.version = CableReady::VERSION
|
9
|
-
gem.authors = ["Nathan Hopkins"]
|
10
|
-
gem.email = ["natehop@gmail.com"]
|
11
|
-
gem.homepage = "https://github.com/hopsoft/cable_ready"
|
12
|
-
gem.summary = "Out-of-Band Server Triggered DOM Operations"
|
13
|
-
|
14
|
-
gem.files = Dir["lib/**/*.rb", "app/assets/javascripts/cable_ready.js", "bin/*", "[A-Z]*"]
|
15
|
-
gem.test_files = Dir["test/**/*.rb"]
|
16
|
-
|
17
|
-
gem.add_dependency "rails", ">= 5.2"
|
18
|
-
|
19
|
-
gem.add_development_dependency "github_changelog_generator"
|
20
|
-
gem.add_development_dependency "magic_frozen_string_literal"
|
21
|
-
gem.add_development_dependency "pry"
|
22
|
-
gem.add_development_dependency "pry-nav"
|
23
|
-
gem.add_development_dependency "rake"
|
24
|
-
gem.add_development_dependency "standardrb"
|
25
|
-
end
|
data/package.json
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"name": "cable_ready",
|
3
|
-
"version": "4.4.2",
|
4
|
-
"description": "CableReady helps you create great real-time user experiences by making it simple to trigger client-side DOM changes from server-side Ruby.",
|
5
|
-
"keywords": [
|
6
|
-
"ruby",
|
7
|
-
"rails",
|
8
|
-
"websockets",
|
9
|
-
"actioncable",
|
10
|
-
"cable",
|
11
|
-
"ssr",
|
12
|
-
"stimulus_reflex",
|
13
|
-
"client-side",
|
14
|
-
"dom"
|
15
|
-
],
|
16
|
-
"homepage": "https://cableready.stimulusreflex.com/",
|
17
|
-
"bugs": {
|
18
|
-
"url": "https://github.com/hopsoft/cable_ready/issues"
|
19
|
-
},
|
20
|
-
"repository": {
|
21
|
-
"type": "git",
|
22
|
-
"url": "git+https://github.com:hopsoft/cable_ready.git"
|
23
|
-
},
|
24
|
-
"license": "MIT",
|
25
|
-
"author": "Nathan Hopkins <natehop@gmail.com>",
|
26
|
-
"main": "./javascript/cable_ready.js",
|
27
|
-
"scripts": {
|
28
|
-
"prettier-standard-check": "yarn run prettier-standard --check ./javascript/**/*.js"
|
29
|
-
},
|
30
|
-
"dependencies": {
|
31
|
-
"morphdom": "^2.6.1"
|
32
|
-
},
|
33
|
-
"devDependencies": {
|
34
|
-
"prettier-standard": "^16.1.0"
|
35
|
-
}
|
36
|
-
}
|
data/tags
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
2
|
-
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
3
|
-
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
|
4
|
-
!_TAG_PROGRAM_NAME Exuberant Ctags //
|
5
|
-
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
|
6
|
-
!_TAG_PROGRAM_VERSION 5.8 //
|
7
|
-
Broadcaster lib/cable_ready/broadcaster.rb /^ module Broadcaster$/;" m class:CableReady
|
8
|
-
CableReady lib/cable_ready.rb /^module CableReady$/;" m
|
9
|
-
CableReady lib/cable_ready/broadcaster.rb /^module CableReady$/;" m
|
10
|
-
CableReady lib/cable_ready/channel.rb /^module CableReady$/;" m
|
11
|
-
CableReady lib/cable_ready/channels.rb /^module CableReady$/;" m
|
12
|
-
CableReady lib/cable_ready/version.rb /^module CableReady$/;" m
|
13
|
-
Channel lib/cable_ready/channel.rb /^ class Channel$/;" c class:CableReady
|
14
|
-
Channels lib/cable_ready/channels.rb /^ class Channels$/;" c class:CableReady
|
15
|
-
Engine lib/cable_ready.rb /^ class Engine < Rails::Engine$/;" c class:CableReady
|
16
|
-
[] lib/cable_ready/channels.rb /^ def [](identifier)$/;" f class:CableReady.Channels
|
17
|
-
add_operation lib/cable_ready/channels.rb /^ def add_operation(operation, &implementation)$/;" f class:CableReady.Channels
|
18
|
-
broadcast lib/cable_ready/channel.rb /^ def broadcast(clear = true)$/;" f class:CableReady.Channel
|
19
|
-
broadcast lib/cable_ready/channels.rb /^ def broadcast(*identifiers, clear: true)$/;" f class:CableReady.Channels
|
20
|
-
broadcast_to lib/cable_ready/channel.rb /^ def broadcast_to(model, clear = true)$/;" f class:CableReady.Channel
|
21
|
-
broadcast_to lib/cable_ready/channels.rb /^ def broadcast_to(model, *identifiers, clear: true)$/;" f class:CableReady.Channels
|
22
|
-
cable_ready lib/cable_ready/broadcaster.rb /^ def cable_ready$/;" f class:CableReady.Broadcaster
|
23
|
-
channel_broadcast lib/cable_ready/channel.rb /^ def channel_broadcast(clear)$/;" f class:CableReady.Channel
|
24
|
-
channel_broadcast_to lib/cable_ready/channel.rb /^ def channel_broadcast_to(model, clear)$/;" f class:CableReady.Channel
|
25
|
-
configure lib/cable_ready/channels.rb /^ def self.configure$/;" F class:CableReady.Channels
|
26
|
-
const.bubbles javascript/cable_ready.js /^ const init = { bubbles: true, cancelable: true, detail: detail }$/;" p
|
27
|
-
const.cancelable javascript/cable_ready.js /^ const init = { bubbles: true, cancelable: true, detail: detail }$/;" p
|
28
|
-
const.color javascript/cable_ready.js /^ color: true,$/;" p
|
29
|
-
const.date javascript/cable_ready.js /^ date: true,$/;" p
|
30
|
-
const.datetime javascript/cable_ready.js /^ datetime: true,$/;" p
|
31
|
-
const.datetime-local javascript/cable_ready.js /^ 'datetime-local': true,$/;" p
|
32
|
-
const.detail javascript/cable_ready.js /^ const init = { bubbles: true, cancelable: true, detail: detail }$/;" p
|
33
|
-
const.email javascript/cable_ready.js /^ email: true,$/;" p
|
34
|
-
const.month javascript/cable_ready.js /^ month: true,$/;" p
|
35
|
-
const.number javascript/cable_ready.js /^ number: true,$/;" p
|
36
|
-
const.password javascript/cable_ready.js /^ password: true,$/;" p
|
37
|
-
const.pushState javascript/cable_ready.js /^ pushState: config => {$/;" p
|
38
|
-
const.range javascript/cable_ready.js /^ range: true,$/;" p
|
39
|
-
const.search javascript/cable_ready.js /^ search: true,$/;" p
|
40
|
-
const.select-multiple javascript/cable_ready.js /^ 'select-multiple': true,$/;" p
|
41
|
-
const.select-one javascript/cable_ready.js /^ 'select-one': true,$/;" p
|
42
|
-
const.tel javascript/cable_ready.js /^ tel: true,$/;" p
|
43
|
-
const.text javascript/cable_ready.js /^ text: true,$/;" p
|
44
|
-
const.textarea javascript/cable_ready.js /^ textarea: true,$/;" p
|
45
|
-
const.time javascript/cable_ready.js /^ time: true,$/;" p
|
46
|
-
const.url javascript/cable_ready.js /^ url: true,$/;" p
|
47
|
-
const.value javascript/cable_ready.js /^ const ignore = { value: true }$/;" p
|
48
|
-
const.week javascript/cable_ready.js /^ week: true$/;" p
|
49
|
-
dom_id lib/cable_ready/broadcaster.rb /^ def dom_id(record, prefix = nil)$/;" f class:CableReady.Broadcaster
|
50
|
-
enqueue_operation lib/cable_ready/channel.rb /^ def enqueue_operation(key, options)$/;" f class:CableReady.Channel
|
51
|
-
import.INPUT javascript/cable_ready.js /^ INPUT: true,$/;" p
|
52
|
-
import.SELECT javascript/cable_ready.js /^ SELECT: true$/;" p
|
53
|
-
import.TEXTAREA javascript/cable_ready.js /^ TEXTAREA: true,$/;" p
|
54
|
-
initialize lib/cable_ready/channel.rb /^ def initialize(identifier, available_operations)$/;" f class:CableReady.Channel
|
55
|
-
initialize lib/cable_ready/channels.rb /^ def initialize$/;" f class:CableReady.Channels
|
56
|
-
mutex lib/cable_ready/channels.rb /^ def mutex$/;" f class:CableReady.Channels
|
57
|
-
reset lib/cable_ready/channel.rb /^ def reset$/;" f class:CableReady.Channel
|