# frozen_string_literal: true # Include this in any model that needs to broadcast events to users/suppliers. # # Replaces the old model_broadcast.rb initializer which monkey-patched # SimplyStored::Couch and created ApplicationController.new per broadcast # (memory-unsafe, no request context, to be removed once all callers migrate). # # Usage: # class List < ApplicationRecord # include Broadcastable # # def close! # broadcast_user(user.id, 'list_closed', { id: id }) # broadcast_supplier(supplier_id, 'list_closed', { id: id }) # end # end # module Broadcastable extend ActiveSupport::Concern def broadcast_supplier(sid, event, data = {}) Mozo.broadcast_supplier(sid, event, data) end def broadcast_user(uid, event, data = {}) Mozo.broadcast_user(uid, event, data) end end