cable_streams 0.1.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 +7 -0
- data/README.md +30 -0
- data/app/helpers/cable_streams/streams/action_helper.rb +23 -0
- data/lib/cable_streams/engine.rb +6 -0
- data/lib/cable_streams/version.rb +3 -0
- data/lib/cable_streams.rb +4 -0
- metadata +103 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 57ca136e081b470c8cafb90704ed1076d05ccadcfb667bd08121ee82e4bee991
|
4
|
+
data.tar.gz: f71a6dc50129583580751c7a08c9edb152a60ad43c1e584f97ce49b8fb893313
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 88b893edb4714b78eead519089cac8bc8a7053fa55902d61f91ccf7c2e2689bdb9e1756d198d2641c8ad1e66b1f6f5a2a1e2fde0ee5ffd7468f542192fbceb4c
|
7
|
+
data.tar.gz: e148b44f0fc42c803563bac8a807c0af3e4263dcc271774e8f8f52bf7b02c6cc5f221ee8b7c2713d8f4f281997e7bafb5eef0e322ead2d92cc6161ed4a950179
|
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
## CableStreams Rails
|
2
|
+
|
3
|
+
This is a Rails helper gem for the [`cable-streams`](https://github.com/marcoroth/cable-streams) NPM package. CableStreams extends Turbo Streams with Custom Turbo Stream Actions and all CableReady operations.
|
4
|
+
|
5
|
+
### Installation
|
6
|
+
|
7
|
+
```bash
|
8
|
+
bundle add cable_streams
|
9
|
+
```
|
10
|
+
|
11
|
+
### Using the Tag Helpers
|
12
|
+
|
13
|
+
The `cable_streams` gem ships view helpers for all CableReady operations. All options are identical to [the regular CableReady operations](https://cableready.stimulusreflex.com/v/v5/reference/operations).
|
14
|
+
|
15
|
+
Here's an example of the `console_log` operation:
|
16
|
+
|
17
|
+
```html+erb
|
18
|
+
<%= turbo_stream.console_log(message: "hello world") %>
|
19
|
+
```
|
20
|
+
|
21
|
+
Which renders to:
|
22
|
+
```html
|
23
|
+
<turbo-stream action="consoleLog" target="body">
|
24
|
+
<template>
|
25
|
+
[
|
26
|
+
{ "message": "hello world", "operation": "consoleLog" }
|
27
|
+
]
|
28
|
+
</template>
|
29
|
+
</turbo-stream>
|
30
|
+
```
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require "cable_ready"
|
2
|
+
require "turbo-rails"
|
3
|
+
|
4
|
+
module CableStreams
|
5
|
+
module Streams
|
6
|
+
module ActionHelper
|
7
|
+
include CableReady::Broadcaster
|
8
|
+
|
9
|
+
IGNORE_LIST = [:after, :append, :before, :prepend, :remove, :replace, :update]
|
10
|
+
|
11
|
+
(CableReady.config.operation_names - IGNORE_LIST).each do |name|
|
12
|
+
define_method(name) do |args|
|
13
|
+
operation = cable_car.send(name, args).dispatch.to_json
|
14
|
+
target = (args.to_h.pluck(:selector) || 'body') rescue "body"
|
15
|
+
|
16
|
+
turbo_stream_action_tag name.to_s.camelize(:lower), target: target, template: operation
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Turbo::Streams::TagBuilder.prepend(CableStreams::Streams::ActionHelper)
|
metadata
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cable_streams
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Marco Roth
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-04-12 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: actionpack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 6.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 6.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: railties
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 6.0.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 6.0.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: cable_ready
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 5.0.0.pre9
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 5.0.0.pre9
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: turbo-rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description:
|
70
|
+
email: marco.roth@hey.com
|
71
|
+
executables: []
|
72
|
+
extensions: []
|
73
|
+
extra_rdoc_files: []
|
74
|
+
files:
|
75
|
+
- README.md
|
76
|
+
- app/helpers/cable_streams/streams/action_helper.rb
|
77
|
+
- lib/cable_streams.rb
|
78
|
+
- lib/cable_streams/engine.rb
|
79
|
+
- lib/cable_streams/version.rb
|
80
|
+
homepage: https://github.com/marcoroth/cable-streams-rails
|
81
|
+
licenses:
|
82
|
+
- MIT
|
83
|
+
metadata: {}
|
84
|
+
post_install_message:
|
85
|
+
rdoc_options: []
|
86
|
+
require_paths:
|
87
|
+
- lib
|
88
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
requirements:
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 2.6.0
|
93
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
requirements: []
|
99
|
+
rubygems_version: 3.3.3
|
100
|
+
signing_key:
|
101
|
+
specification_version: 4
|
102
|
+
summary: Extend Turbo Streams with Custom Turbo Stream Actions or CableReady operations
|
103
|
+
test_files: []
|