Module: Renalware::Broadcasting
- Extended by:
- ActiveSupport::Concern
- Includes:
- Wisper::Publisher
- Included in:
- Feeds::MessageProcessor, Letters::ApproveLetter, Letters::CompleteLetter, Modalities::ChangePatientModality
- Defined in:
- app/models/concerns/renalware/broadcasting.rb
Defined Under Namespace
Classes: Subscriber
Instance Method Summary collapse
-
#broadcasting_to_configured_subscribers ⇒ Object
Subscribes any listeners configured in Renalware.config.broadcast_subscription_map to the current instance.
Instance Method Details
#broadcasting_to_configured_subscribers ⇒ Object
Subscribes any listeners configured in Renalware.config.broadcast_subscription_map to the current instance.
Example usage
class SomeServiceObject
include Broadcasting
def call
..
end
end
SomeServiceObject.new(..).broadcasting_to_configured_subscribers.call(..)
49 50 51 52 53 54 55 56 57 |
# File 'app/models/concerns/renalware/broadcasting.rb', line 49 def broadcasting_to_configured_subscribers subscribers = Array(Renalware.config.broadcast_subscription_map[self.class.name]) subscribers.each do |subscriber| # Support String subscribers eg a simple class name as well as Subscriber instances. subscriber = Subscriber.new(subscriber) unless subscriber.respond_to?(:klass) subscribe(subscriber.instance, async: subscriber.async?) end self end |