Module: SolidObjects::TurboStreamRenderer

Defined in:
lib/solid_objects/turbo_stream_renderer.rb,
sig/generated/lib/solid_objects/turbo_stream_renderer.rbs

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.observable(broadcast) ⇒ Object

RBS:

  • (Broadcast) -> String



10
11
12
13
14
15
16
# File 'lib/solid_objects/turbo_stream_renderer.rb', line 10

def observable(broadcast)
  reference = Reference.new(
    actor_type: broadcast.instance.actor_type,
    actor_id: broadcast.instance.actor_id
  )
  observable_value(reference, broadcast.observable_name, broadcast.value)
end

.observable_value(reference, name, value) ⇒ Object

RBS:

  • (Reference, Symbol | String, untyped) -> String



19
20
21
22
23
# File 'lib/solid_objects/turbo_stream_renderer.rb', line 19

def observable_value(reference, name, value)
  target = DomIdentity.observable(reference, name)
  content = ERB::Util.html_escape(display_value(value))
  %(<turbo-stream action="replace" target="#{target}"><template><span id="#{target}">#{content}</span></template></turbo-stream>)
end

Instance Method Details

#self?.display_valueString

RBS:

  • (untyped) -> String

Parameters:

  • (Object)

Returns:

  • (String)


12
# File 'sig/generated/lib/solid_objects/turbo_stream_renderer.rbs', line 12

def self?.display_value: (untyped) -> String

#self?.observableString

RBS:

  • (Broadcast) -> String

Parameters:

Returns:

  • (String)


6
# File 'sig/generated/lib/solid_objects/turbo_stream_renderer.rbs', line 6

def self?.observable: (Broadcast) -> String

#self?.observable_valueString

RBS:

  • (Reference, Symbol | String, untyped) -> String

Parameters:

Returns:

  • (String)


9
# File 'sig/generated/lib/solid_objects/turbo_stream_renderer.rbs', line 9

def self?.observable_value: (Reference, Symbol | String, untyped) -> String