cable_ready 4.4.0.pre2 → 4.4.0.pre3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 336dc16eec4f5d8fef87d25319d07bbc2381ac552c384a2066387c209efa4782
4
- data.tar.gz: 782e97d08ef9d7adf559d1e69808adb779af99f54fbabe0c40091138fbe04cb9
3
+ metadata.gz: 2a833955cf21a426b40df8ef5beb2dae7bead6f3453fa5ec7a42d6e3c4beed72
4
+ data.tar.gz: 2b6127b78508063c572b5da7a97b44acde16004cac3a4b991c1bd36a6179a43a
5
5
  SHA512:
6
- metadata.gz: f59b24c3691502cf20f6c0b0b9d665adba7b5dab021b6dc411a790579040f97483766a0e97f3ad37d288f22c64869b0eaa8c8d9bee376b433b773974132d16bf
7
- data.tar.gz: 066c91020558f7ac188fcc11fbd86c182cb2f7a527608c6ec1ecc84f50014f515224e4fd60c45d625dbe9236c631c38f3c84e8b6f83bd899b0101f9442df2a75
6
+ metadata.gz: 60c2079789ba82ae87a39e32a8310975112ef83f18f4dccf01c478d5fd250922fc57848ea0d67860013d5ac1e0a84ac60b194cd83046bca241c28663ff0caa48
7
+ data.tar.gz: be3c28a26a62bbafd395baf681459f7d388a5e37afa659aff96c16c4a1b62256c225efe3d6e5e6fa4b560532758ed480ceec2ced9a45b57e961aaf95cdffebcc
@@ -2,7 +2,25 @@
2
2
 
3
3
  ## [Unreleased](https://github.com/hopsoft/cable_ready/tree/HEAD)
4
4
 
5
- [Full Changelog](https://github.com/hopsoft/cable_ready/compare/v4.4.0.pre1...HEAD)
5
+ [Full Changelog](https://github.com/hopsoft/cable_ready/compare/v4.4.0.pre2...HEAD)
6
+
7
+ **Closed issues:**
8
+
9
+ - CableReady detected an error in insertAdjacentHtml. Object doesn't support this action - IE11 only [\#76](https://github.com/hopsoft/cable_ready/issues/76)
10
+ - shouldMorph doesn't work well with some form elements [\#70](https://github.com/hopsoft/cable_ready/issues/70)
11
+ - Operations go missing before broadcasting [\#64](https://github.com/hopsoft/cable_ready/issues/64)
12
+
13
+ **Merged pull requests:**
14
+
15
+ - method chaining [\#78](https://github.com/hopsoft/cable_ready/pull/78) ([leastbad](https://github.com/leastbad))
16
+ - jquery support [\#75](https://github.com/hopsoft/cable_ready/pull/75) ([leastbad](https://github.com/leastbad))
17
+ - Removed isEqualNode comparison [\#71](https://github.com/hopsoft/cable_ready/pull/71) ([adank92](https://github.com/adank92))
18
+
19
+ # Changelog
20
+
21
+ ## [v4.4.0.pre2](https://github.com/hopsoft/cable_ready/tree/v4.4.0.pre2) (2020-11-02)
22
+
23
+ [Full Changelog](https://github.com/hopsoft/cable_ready/compare/v4.4.0.pre1...v4.4.0.pre2)
6
24
 
7
25
  **Merged pull requests:**
8
26
 
@@ -309,4 +327,7 @@
309
327
 
310
328
 
311
329
 
330
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
331
+
332
+
312
333
  \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
@@ -1,62 +1,62 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cable_ready (4.4.0.pre2)
4
+ cable_ready (4.4.0.pre3)
5
5
  rails (>= 5.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- actioncable (6.0.3.3)
11
- actionpack (= 6.0.3.3)
10
+ actioncable (6.0.3.4)
11
+ actionpack (= 6.0.3.4)
12
12
  nio4r (~> 2.0)
13
13
  websocket-driver (>= 0.6.1)
14
- actionmailbox (6.0.3.3)
15
- actionpack (= 6.0.3.3)
16
- activejob (= 6.0.3.3)
17
- activerecord (= 6.0.3.3)
18
- activestorage (= 6.0.3.3)
19
- activesupport (= 6.0.3.3)
14
+ actionmailbox (6.0.3.4)
15
+ actionpack (= 6.0.3.4)
16
+ activejob (= 6.0.3.4)
17
+ activerecord (= 6.0.3.4)
18
+ activestorage (= 6.0.3.4)
19
+ activesupport (= 6.0.3.4)
20
20
  mail (>= 2.7.1)
21
- actionmailer (6.0.3.3)
22
- actionpack (= 6.0.3.3)
23
- actionview (= 6.0.3.3)
24
- activejob (= 6.0.3.3)
21
+ actionmailer (6.0.3.4)
22
+ actionpack (= 6.0.3.4)
23
+ actionview (= 6.0.3.4)
24
+ activejob (= 6.0.3.4)
25
25
  mail (~> 2.5, >= 2.5.4)
26
26
  rails-dom-testing (~> 2.0)
27
- actionpack (6.0.3.3)
28
- actionview (= 6.0.3.3)
29
- activesupport (= 6.0.3.3)
27
+ actionpack (6.0.3.4)
28
+ actionview (= 6.0.3.4)
29
+ activesupport (= 6.0.3.4)
30
30
  rack (~> 2.0, >= 2.0.8)
31
31
  rack-test (>= 0.6.3)
32
32
  rails-dom-testing (~> 2.0)
33
33
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
34
- actiontext (6.0.3.3)
35
- actionpack (= 6.0.3.3)
36
- activerecord (= 6.0.3.3)
37
- activestorage (= 6.0.3.3)
38
- activesupport (= 6.0.3.3)
34
+ actiontext (6.0.3.4)
35
+ actionpack (= 6.0.3.4)
36
+ activerecord (= 6.0.3.4)
37
+ activestorage (= 6.0.3.4)
38
+ activesupport (= 6.0.3.4)
39
39
  nokogiri (>= 1.8.5)
40
- actionview (6.0.3.3)
41
- activesupport (= 6.0.3.3)
40
+ actionview (6.0.3.4)
41
+ activesupport (= 6.0.3.4)
42
42
  builder (~> 3.1)
43
43
  erubi (~> 1.4)
44
44
  rails-dom-testing (~> 2.0)
45
45
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
46
- activejob (6.0.3.3)
47
- activesupport (= 6.0.3.3)
46
+ activejob (6.0.3.4)
47
+ activesupport (= 6.0.3.4)
48
48
  globalid (>= 0.3.6)
49
- activemodel (6.0.3.3)
50
- activesupport (= 6.0.3.3)
51
- activerecord (6.0.3.3)
52
- activemodel (= 6.0.3.3)
53
- activesupport (= 6.0.3.3)
54
- activestorage (6.0.3.3)
55
- actionpack (= 6.0.3.3)
56
- activejob (= 6.0.3.3)
57
- activerecord (= 6.0.3.3)
49
+ activemodel (6.0.3.4)
50
+ activesupport (= 6.0.3.4)
51
+ activerecord (6.0.3.4)
52
+ activemodel (= 6.0.3.4)
53
+ activesupport (= 6.0.3.4)
54
+ activestorage (6.0.3.4)
55
+ actionpack (= 6.0.3.4)
56
+ activejob (= 6.0.3.4)
57
+ activerecord (= 6.0.3.4)
58
58
  marcel (~> 0.3.1)
59
- activesupport (6.0.3.3)
59
+ activesupport (6.0.3.4)
60
60
  concurrent-ruby (~> 1.0, >= 1.0.2)
61
61
  i18n (>= 0.7, < 2)
62
62
  minitest (~> 5.1)
@@ -70,8 +70,9 @@ GEM
70
70
  concurrent-ruby (1.1.7)
71
71
  crass (1.0.6)
72
72
  erubi (1.9.0)
73
- faraday (1.0.1)
73
+ faraday (1.1.0)
74
74
  multipart-post (>= 1.2, < 3)
75
+ ruby2_keywords
75
76
  faraday-http-cache (2.2.0)
76
77
  faraday (>= 0.8)
77
78
  github_changelog_generator (1.15.2)
@@ -89,7 +90,7 @@ GEM
89
90
  loofah (2.7.0)
90
91
  crass (~> 1.0.2)
91
92
  nokogiri (>= 1.5.9)
92
- magic_frozen_string_literal (1.1.0)
93
+ magic_frozen_string_literal (1.2.0)
93
94
  mail (2.7.1)
94
95
  mini_mime (>= 0.1.1)
95
96
  marcel (0.3.3)
@@ -104,11 +105,11 @@ GEM
104
105
  nio4r (2.5.4)
105
106
  nokogiri (1.10.10)
106
107
  mini_portile2 (~> 2.4.0)
107
- octokit (4.18.0)
108
+ octokit (4.19.0)
108
109
  faraday (>= 0.9)
109
110
  sawyer (~> 0.8.0, >= 0.5.3)
110
- parallel (1.19.2)
111
- parser (2.7.1.5)
111
+ parallel (1.20.0)
112
+ parser (2.7.2.0)
112
113
  ast (~> 2.4.1)
113
114
  pry (0.12.2)
114
115
  coderay (~> 1.1.0)
@@ -119,52 +120,53 @@ GEM
119
120
  rack (2.2.3)
120
121
  rack-test (1.1.0)
121
122
  rack (>= 1.0, < 3)
122
- rails (6.0.3.3)
123
- actioncable (= 6.0.3.3)
124
- actionmailbox (= 6.0.3.3)
125
- actionmailer (= 6.0.3.3)
126
- actionpack (= 6.0.3.3)
127
- actiontext (= 6.0.3.3)
128
- actionview (= 6.0.3.3)
129
- activejob (= 6.0.3.3)
130
- activemodel (= 6.0.3.3)
131
- activerecord (= 6.0.3.3)
132
- activestorage (= 6.0.3.3)
133
- activesupport (= 6.0.3.3)
123
+ rails (6.0.3.4)
124
+ actioncable (= 6.0.3.4)
125
+ actionmailbox (= 6.0.3.4)
126
+ actionmailer (= 6.0.3.4)
127
+ actionpack (= 6.0.3.4)
128
+ actiontext (= 6.0.3.4)
129
+ actionview (= 6.0.3.4)
130
+ activejob (= 6.0.3.4)
131
+ activemodel (= 6.0.3.4)
132
+ activerecord (= 6.0.3.4)
133
+ activestorage (= 6.0.3.4)
134
+ activesupport (= 6.0.3.4)
134
135
  bundler (>= 1.3.0)
135
- railties (= 6.0.3.3)
136
+ railties (= 6.0.3.4)
136
137
  sprockets-rails (>= 2.0.0)
137
138
  rails-dom-testing (2.0.3)
138
139
  activesupport (>= 4.2.0)
139
140
  nokogiri (>= 1.6)
140
141
  rails-html-sanitizer (1.3.0)
141
142
  loofah (~> 2.3)
142
- railties (6.0.3.3)
143
- actionpack (= 6.0.3.3)
144
- activesupport (= 6.0.3.3)
143
+ railties (6.0.3.4)
144
+ actionpack (= 6.0.3.4)
145
+ activesupport (= 6.0.3.4)
145
146
  method_source
146
147
  rake (>= 0.8.7)
147
148
  thor (>= 0.20.3, < 2.0)
148
149
  rainbow (3.0.0)
149
150
  rake (13.0.1)
150
- regexp_parser (1.8.0)
151
+ regexp_parser (1.8.2)
151
152
  retriable (3.1.2)
152
153
  rexml (3.2.4)
153
- rubocop (0.92.0)
154
+ rubocop (1.2.0)
154
155
  parallel (~> 1.10)
155
156
  parser (>= 2.7.1.5)
156
157
  rainbow (>= 2.2.2, < 4.0)
157
- regexp_parser (>= 1.7)
158
+ regexp_parser (>= 1.8)
158
159
  rexml
159
- rubocop-ast (>= 0.5.0)
160
+ rubocop-ast (>= 1.0.1)
160
161
  ruby-progressbar (~> 1.7)
161
162
  unicode-display_width (>= 1.4.0, < 2.0)
162
- rubocop-ast (0.5.1)
163
+ rubocop-ast (1.1.1)
163
164
  parser (>= 2.7.1.5)
164
165
  rubocop-performance (1.8.1)
165
166
  rubocop (>= 0.87.0)
166
167
  rubocop-ast (>= 0.4.0)
167
168
  ruby-progressbar (1.10.1)
169
+ ruby2_keywords (0.0.2)
168
170
  sawyer (0.8.2)
169
171
  addressable (>= 2.3.5)
170
172
  faraday (> 0.8, < 2.0)
@@ -175,20 +177,20 @@ GEM
175
177
  actionpack (>= 4.0)
176
178
  activesupport (>= 4.0)
177
179
  sprockets (>= 3.0.0)
178
- standard (0.7)
179
- rubocop (= 0.92)
180
+ standard (0.9.0)
181
+ rubocop (= 1.2.0)
180
182
  rubocop-performance (= 1.8.1)
181
183
  standardrb (1.0.0)
182
184
  standard
183
185
  thor (1.0.1)
184
186
  thread_safe (0.3.6)
185
- tzinfo (1.2.7)
187
+ tzinfo (1.2.8)
186
188
  thread_safe (~> 0.1)
187
189
  unicode-display_width (1.7.0)
188
190
  websocket-driver (0.7.3)
189
191
  websocket-extensions (>= 0.1.0)
190
192
  websocket-extensions (0.1.5)
191
- zeitwerk (2.4.0)
193
+ zeitwerk (2.4.1)
192
194
 
193
195
  PLATFORMS
194
196
  ruby
data/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  <img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-brightgreen.svg" target="_blank" />
12
12
  </a>
13
13
  <a href="http://blog.codinghorror.com/the-best-code-is-no-code-at-all/" target="_blank">
14
- <img alt="Lines of Code" src="https://img.shields.io/badge/lines_of_code-409-brightgreen.svg?style=flat" />
14
+ <img alt="Lines of Code" src="https://img.shields.io/badge/lines_of_code-416-brightgreen.svg?style=flat" />
15
15
  </a>
16
16
  <a href="https://cableready.stimulusreflex.com" target="_blank">
17
17
  <img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" />
@@ -84,8 +84,8 @@ Please run `./bin/standardize` prior submitting pull requests.
84
84
  1. Bump version number at `lib/cable_ready/version.rb`
85
85
  1. Run `rake build`
86
86
  1. Run `rake release`
87
- 1. Change directories `cd ./javascript`
88
- 1. Run `yarn publish` - NOTE: this will throw a fatal error because the tag already exists but the package will still publish
87
+ 1. Run `yarn publish --no-git-tag-version`
88
+ 1. Commit and push changes to the `package.json` file
89
89
 
90
90
  ## 📝 License
91
91
 
@@ -2,4 +2,4 @@
2
2
 
3
3
  bundle exec magic_frozen_string_literal
4
4
  bundle exec standardrb --fix
5
- cd ./javascript && yarn run prettier-standard cable_ready.js
5
+ yarn run prettier-standard ./javascript/*.js
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require File.expand_path("../lib/cable_ready/version", __FILE__)
2
4
 
3
5
  Gem::Specification.new do |gem|
@@ -13,24 +13,33 @@ module CableReady
13
13
  end
14
14
  end
15
15
 
16
- def broadcast(clear)
16
+ def channel_broadcast(clear)
17
17
  operations.select! { |_, list| list.present? }
18
18
  operations.deep_transform_keys! { |key| key.to_s.camelize(:lower) }
19
19
  ActionCable.server.broadcast identifier, {"cableReady" => true, "operations" => operations}
20
20
  reset if clear
21
21
  end
22
22
 
23
- def broadcast_to(model, clear)
23
+ def channel_broadcast_to(model, clear)
24
24
  operations.select! { |_, list| list.present? }
25
25
  operations.deep_transform_keys! { |key| key.to_s.camelize(:lower) }
26
26
  identifier.broadcast_to model, {"cableReady" => true, "operations" => operations}
27
27
  reset if clear
28
28
  end
29
29
 
30
+ def broadcast(clear = true)
31
+ CableReady::Channels.instance.broadcast(identifier, clear)
32
+ end
33
+
34
+ def broadcast_to(model, clear = true)
35
+ CableReady::Channels.instance.broadcast_to(model, identifier, clear)
36
+ end
37
+
30
38
  private
31
39
 
32
- def add_operation(key, options)
40
+ def enqueue_operation(key, options)
33
41
  operations[key] << options
42
+ self
34
43
  end
35
44
 
36
45
  def reset
@@ -43,7 +43,7 @@ module CableReady
43
43
  end
44
44
 
45
45
  def add_operation(operation, &implementation)
46
- @operations[operation] = implementation || ->(options = {}) { add_operation(operation, options) }
46
+ @operations[operation] = implementation || ->(options = {}) { enqueue_operation(operation, options) }
47
47
  end
48
48
 
49
49
  def [](identifier)
@@ -56,7 +56,7 @@ module CableReady
56
56
  .reject { |channel| identifiers.any? && identifiers.exclude?(channel.identifier) }
57
57
  .select { |channel| channel.identifier.is_a?(String) }
58
58
  .tap do |channels|
59
- channels.each { |channel| @channels[channel.identifier].broadcast(clear) }
59
+ channels.each { |channel| @channels[channel.identifier].channel_broadcast(clear) }
60
60
  channels.each { |channel| @channels.except!(channel.identifier) if clear }
61
61
  end
62
62
  end
@@ -68,7 +68,7 @@ module CableReady
68
68
  .reject { |channel| identifiers.any? && identifiers.exclude?(channel.identifier) }
69
69
  .reject { |channel| channel.identifier.is_a?(String) }
70
70
  .tap do |channels|
71
- channels.each { |channel| @channels[channel.identifier].broadcast_to(model, clear) }
71
+ channels.each { |channel| @channels[channel.identifier].channel_broadcast_to(model, clear) }
72
72
  channels.each { |channel| @channels.except!(channel.identifier) if clear }
73
73
  end
74
74
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CableReady
4
- VERSION = "4.4.0.pre2"
4
+ VERSION = "4.4.0.pre3"
5
5
  end
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "cable_ready",
3
+ "version": "4.4.0-pre2",
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 CHANGED
@@ -14,20 +14,22 @@ Channel lib/cable_ready/channel.rb /^ class Channel$/;" c class:CableReady
14
14
  Channels lib/cable_ready/channels.rb /^ class Channels$/;" c class:CableReady
15
15
  Engine lib/cable_ready.rb /^ class Engine < Rails::Engine$/;" c class:CableReady
16
16
  [] lib/cable_ready/channels.rb /^ def [](identifier)$/;" f class:CableReady.Channels
17
- add_operation lib/cable_ready/channel.rb /^ def add_operation(key, options)$/;" f class:CableReady.Channel
18
17
  add_operation lib/cable_ready/channels.rb /^ def add_operation(operation, &implementation)$/;" f class:CableReady.Channels
19
- broadcast lib/cable_ready/channel.rb /^ def broadcast(clear)$/;" f class:CableReady.Channel
18
+ broadcast lib/cable_ready/channel.rb /^ def broadcast(clear = true)$/;" f class:CableReady.Channel
20
19
  broadcast lib/cable_ready/channels.rb /^ def broadcast(*identifiers, clear: true)$/;" f class:CableReady.Channels
21
- broadcast_to lib/cable_ready/channel.rb /^ def broadcast_to(model, clear)$/;" f class:CableReady.Channel
20
+ broadcast_to lib/cable_ready/channel.rb /^ def broadcast_to(model, clear = true)$/;" f class:CableReady.Channel
22
21
  broadcast_to lib/cable_ready/channels.rb /^ def broadcast_to(model, *identifiers, clear: true)$/;" f class:CableReady.Channels
23
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
24
25
  configure lib/cable_ready/channels.rb /^ def self.configure$/;" F class:CableReady.Channels
25
- const.bubbles javascript/cable_ready.js /^ const init = { bubbles: true, cancelable: true }$/;" p
26
- const.cancelable javascript/cable_ready.js /^ const init = { bubbles: true, cancelable: true }$/;" p
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
27
28
  const.color javascript/cable_ready.js /^ color: true,$/;" p
28
29
  const.date javascript/cable_ready.js /^ date: true,$/;" p
29
30
  const.datetime javascript/cable_ready.js /^ datetime: true,$/;" p
30
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
31
33
  const.email javascript/cable_ready.js /^ email: true,$/;" p
32
34
  const.month javascript/cable_ready.js /^ month: true,$/;" p
33
35
  const.number javascript/cable_ready.js /^ number: true,$/;" p
@@ -45,6 +47,7 @@ const.url javascript/cable_ready.js /^ url: true,$/;" p
45
47
  const.value javascript/cable_ready.js /^ const ignore = { value: true }$/;" p
46
48
  const.week javascript/cable_ready.js /^ week: true$/;" p
47
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
48
51
  import.INPUT javascript/cable_ready.js /^ INPUT: true,$/;" p
49
52
  import.SELECT javascript/cable_ready.js /^ SELECT: true$/;" p
50
53
  import.TEXTAREA javascript/cable_ready.js /^ TEXTAREA: true,$/;" p