Class: StimulusReflex::Broadcaster
- Inherits:
-
Object
- Object
- StimulusReflex::Broadcaster
show all
- Defined in:
- lib/stimulus_reflex/broadcasters/broadcaster.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
Returns a new instance of Broadcaster.
8
9
10
11
12
13
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 8
def initialize(reflex)
@reflex = reflex
@logger = Rails.logger if defined?(Rails.logger)
@operations = []
@cable_ready = StimulusReflex::CableReadyChannels.new(reflex)
end
|
Instance Attribute Details
#cable_ready ⇒ Object
Returns the value of attribute cable_ready.
5
6
7
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 5
def cable_ready
@cable_ready
end
|
#logger ⇒ Object
Returns the value of attribute logger.
5
6
7
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 5
def logger
@logger
end
|
#operations ⇒ Object
Returns the value of attribute operations.
5
6
7
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 5
def operations
@operations
end
|
#reflex ⇒ Object
Returns the value of attribute reflex.
5
6
7
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 5
def reflex
@reflex
end
|
Instance Method Details
#broadcast(*args) ⇒ Object
abstract methods to be implemented by subclasses
56
57
58
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 56
def broadcast(*args)
raise NotImplementedError
end
|
#broadcast_error(data: {}, error: nil) ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 45
def broadcast_error(data: {}, error: nil)
operations << ["document", :dispatch_event]
cable_ready.dispatch_event(
name: "stimulus-reflex:morph-error",
payload: payload,
stimulus_reflex: data.merge(morph: to_sym),
error: error&.to_s
).broadcast
end
|
#broadcast_forbid(data: {}) ⇒ Object
36
37
38
39
40
41
42
43
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 36
def broadcast_forbid(data: {})
operations << ["document", :dispatch_event]
cable_ready.dispatch_event(
name: "stimulus-reflex:morph-forbidden",
payload: payload,
stimulus_reflex: data.merge(morph: to_sym)
).broadcast
end
|
#broadcast_halt(data: {}) ⇒ Object
27
28
29
30
31
32
33
34
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 27
def broadcast_halt(data: {})
operations << ["document", :dispatch_event]
cable_ready.dispatch_event(
name: "stimulus-reflex:morph-halted",
payload: payload,
stimulus_reflex: data.merge(morph: to_sym)
).broadcast
end
|
#nothing? ⇒ Boolean
15
16
17
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 15
def nothing?
false
end
|
#page? ⇒ Boolean
19
20
21
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 19
def page?
false
end
|
#selector? ⇒ Boolean
23
24
25
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 23
def selector?
false
end
|
#to_s ⇒ Object
64
65
66
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 64
def to_s
raise NotImplementedError
end
|
#to_sym ⇒ Object
60
61
62
|
# File 'lib/stimulus_reflex/broadcasters/broadcaster.rb', line 60
def to_sym
raise NotImplementedError
end
|