Sha256: 44e7b6e47754ace0dbfcd5ad678e18f61f50647626d703894a7ac34ff42ddf9d
Contents?: true
Size: 732 Bytes
Versions: 85
Compression:
Stored size: 732 Bytes
Contents
# frozen_string_literal: true require_dependency "renalware/events" require "attr_extras" module Renalware module Events # A wrapper around the creation of an Event to allow is to broadcast a Wisper event to the # 'world' (or rather just whoever has been configured in the broadcast subscription map). class CreateEvent include Broadcasting pattr_initialize [:event!, :by!] # Returns the boolean result of event.save_by def self.call(**args) new(**args) .broadcasting_to_configured_subscribers .call end def call event.save_by(by).tap do |success| broadcast(:event_created, event) if success end end end end end
Version data entries
85 entries across 85 versions & 1 rubygems