6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'app/helpers/solid_objects/actor_helper.rb', line 6
def solid_object(reference, authorization_context: self, &block)
actor = ActorView.new(
reference:,
view_context: self,
authorization_context:
)
subscription = tag.turbo_cable_stream_source(
channel: "SolidObjects::ActorChannel",
token: StreamToken.generate(reference)
)
content = capture(actor, &block)
content_tag(
:div,
safe_join([ subscription, content ]),
id: DomIdentity.scope(reference)
)
end
|