Module: Superglue::Broadcastable

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/superglue/broadcastable.rb

Overview

This file was ported from the amazing folks at turbo-rails You can find its MIT License here: github.com/hotwired/turbo-rails/blob/main/MIT-LICENSE

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#broadcast_action(action, target: broadcast_target_default, options: {}, **rest) ⇒ Object



70
71
72
# File 'app/models/concerns/superglue/broadcastable.rb', line 70

def broadcast_action(action, target: broadcast_target_default, options: {}, **rest)
  broadcast_action_to self, action: action, target: target, options: options, **rest
end

#broadcast_action_later(action:, target: broadcast_target_default, options: {}, **rendering) ⇒ Object



102
103
104
# File 'app/models/concerns/superglue/broadcastable.rb', line 102

def broadcast_action_later(action:, target: broadcast_target_default, options: {}, **rendering)
  broadcast_action_later_to self, action: action, target: target, options: options, **rendering
end

#broadcast_action_later_to(*streamables, action:, target: broadcast_target_default, options: {}, **rendering) ⇒ Object



98
99
100
# File 'app/models/concerns/superglue/broadcastable.rb', line 98

def broadcast_action_later_to(*streamables, action:, target: broadcast_target_default, options: {}, **rendering)
  Superglue::StreamsChannel.broadcast_action_later_to(*streamables, action: action, options: options, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_action_to(*streamables, action:, target: broadcast_target_default, options: {}, **rendering) ⇒ Object

todo rename options to js_options



66
67
68
# File 'app/models/concerns/superglue/broadcastable.rb', line 66

def broadcast_action_to(*streamables, action:, target: broadcast_target_default, options: {}, **rendering)
  Superglue::StreamsChannel.broadcast_action_to(*streamables, action: action, options: options, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_append(target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



53
54
55
# File 'app/models/concerns/superglue/broadcastable.rb', line 53

def broadcast_append(target: broadcast_target_default, save_target: nil, **rendering)
  broadcast_append_to self, target: target, save_target: save_target, **rendering
end

#broadcast_append_later(target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



86
87
88
# File 'app/models/concerns/superglue/broadcastable.rb', line 86

def broadcast_append_later(target: broadcast_target_default, save_target: nil, **rendering)
  broadcast_append_later_to self, target: target, save_target: save_target, **rendering
end

#broadcast_append_later_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



82
83
84
# File 'app/models/concerns/superglue/broadcastable.rb', line 82

def broadcast_append_later_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering)
  Superglue::StreamsChannel.broadcast_append_later_to(*streamables, save_target: save_target, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_append_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object

todo save_target: true



49
50
51
# File 'app/models/concerns/superglue/broadcastable.rb', line 49

def broadcast_append_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering)
  Superglue::StreamsChannel.broadcast_append_to(*streamables, save_target: save_target, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_prepend(target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



61
62
63
# File 'app/models/concerns/superglue/broadcastable.rb', line 61

def broadcast_prepend(target: broadcast_target_default, save_target: nil, **rendering)
  broadcast_prepend_to self, target: target, save_target: save_target, **rendering
end

#broadcast_prepend_later(target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



94
95
96
# File 'app/models/concerns/superglue/broadcastable.rb', line 94

def broadcast_prepend_later(target: broadcast_target_default, save_target: nil, **rendering)
  broadcast_prepend_later_to self, target: target, save_target: save_target, **rendering
end

#broadcast_prepend_later_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



90
91
92
# File 'app/models/concerns/superglue/broadcastable.rb', line 90

def broadcast_prepend_later_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering)
  Superglue::StreamsChannel.broadcast_prepend_later_to(*streamables, save_target: save_target, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_prepend_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering) ⇒ Object



57
58
59
# File 'app/models/concerns/superglue/broadcastable.rb', line 57

def broadcast_prepend_to(*streamables, target: broadcast_target_default, save_target: nil, **rendering)
  Superglue::StreamsChannel.broadcast_prepend_to(*streamables, save_target: save_target, **extract_options_and_add_target(rendering, target: target)) unless suppressed_superglue_broadcasts?
end

#broadcast_target_defaultObject



106
107
108
# File 'app/models/concerns/superglue/broadcastable.rb', line 106

def broadcast_target_default
  self.class.broadcast_target_default
end

#broadcast_update(**rendering) ⇒ Object



44
45
46
# File 'app/models/concerns/superglue/broadcastable.rb', line 44

def broadcast_update(**rendering)
  broadcast_update_to self, **rendering
end

#broadcast_update_later(**rendering) ⇒ Object



78
79
80
# File 'app/models/concerns/superglue/broadcastable.rb', line 78

def broadcast_update_later(**rendering)
  broadcast_update_later_to self, **rendering
end

#broadcast_update_later_to(*streamables, **rendering) ⇒ Object



74
75
76
# File 'app/models/concerns/superglue/broadcastable.rb', line 74

def broadcast_update_later_to(*streamables, **rendering)
  Superglue::StreamsChannel.broadcast_update_later_to(*streamables, **extract_options_and_add_target(rendering, target: self)) unless suppressed_superglue_broadcasts?
end

#broadcast_update_to(*streamables, **rendering) ⇒ Object

add target?



40
41
42
# File 'app/models/concerns/superglue/broadcastable.rb', line 40

def broadcast_update_to(*streamables, **rendering)
  Superglue::StreamsChannel.broadcast_update_to(*streamables, **extract_options_and_add_target(rendering, target: self)) unless suppressed_superglue_broadcasts?
end