diff --git a/app/models/list.rb b/app/models/list.rb index 1c0ea8e7..77777155 100644 --- a/app/models/list.rb +++ b/app/models/list.rb @@ -1,6 +1,7 @@ class List include SimplyStored::Couch include ActiveModel::SerializerSupport + include Broadcastable include List::JoinRequests per_page_method :limit_value #kaminari diff --git a/app/models/order.rb b/app/models/order.rb index 9690d674..4fbb602b 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -1,6 +1,7 @@ class Order include SimplyStored::Couch include ActiveModel::SerializerSupport + include Broadcastable property :state, default: 'placed' # placed, active, delivered, cancelled, closed diff --git a/config/initializers/model_broadcast.rb b/config/initializers/model_broadcast.rb deleted file mode 100644 index bb505c41..00000000 --- a/config/initializers/model_broadcast.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -# Broadcast shim: provides broadcast_supplier / broadcast_user to all -# SimplyStored::Couch models without requiring ApplicationController.new. -# -# PREVIOUSLY (dangerous): -# ApplicationController.new.send(:broadcast_supplier, *args) -# → leaked controller instances, no request lifecycle -# -# NOW: -# Delegates directly to Mozo.broadcast_supplier / Mozo.broadcast_user -# which uses Mozo.broadcaster (configurable: Faye or ActionCable). -# -# MIGRATION PATH: -# Models should `include Broadcastable` directly instead of relying -# on this monkey-patch. Once all models include Broadcastable, this -# initializer can be removed. -# -require 'simply_stored/couch' - -module ModelBroadcast - 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 - -SimplyStored::Couch.send(:include, ModelBroadcast)