Module: EventTrain
- Defined in:
- lib/event_train.rb,
lib/event_train/channel.rb,
lib/event_train/version.rb
Overview
Top-level module.
Defined Under Namespace
Classes: Channel
Constant Summary collapse
- VERSION =
File.read(File.("../../../VERSION", __FILE__)).strip
Class Method Summary collapse
- .build_channel(name:) ⇒ Object
- .get_channel(name:) ⇒ Object
-
.publish(event_name:, event_data:, channel_name: :global) ⇒ Object
Publishes a new event on the specified channel.
-
.reset_all_channels ⇒ Object
Reset all channels, removing all subscribed blocks.
- .subscribe(channel_name: :global, &block) ⇒ Object
Class Method Details
.build_channel(name:) ⇒ Object
33 34 35 |
# File 'lib/event_train.rb', line 33 def build_channel(name:) Channel.new(name: name) end |
.get_channel(name:) ⇒ Object
28 29 30 |
# File 'lib/event_train.rb', line 28 def get_channel(name:) @channels[name] ||= build_channel(name: name) end |
.publish(event_name:, event_data:, channel_name: :global) ⇒ Object
Publishes a new event on the specified channel.
16 17 18 19 |
# File 'lib/event_train.rb', line 16 def publish(event_name:, event_data:, channel_name: :global) channel = get_channel(name: channel_name) channel.publish(event_name: event_name, event_data: event_data) end |
.reset_all_channels ⇒ Object
Reset all channels, removing all subscribed blocks.
39 40 41 |
# File 'lib/event_train.rb', line 39 def reset_all_channels @channels = {} end |
.subscribe(channel_name: :global, &block) ⇒ Object
22 23 24 25 |
# File 'lib/event_train.rb', line 22 def subscribe(channel_name: :global, &block) channel = get_channel(name: channel_name) channel.subscribe(&block) end |