Wisper: подписчики не слышат трансляции
В предыдущем вопросе я рекомендовал использовать драгоценный камень под названием Wisper. Я очень рад узнать об этом, так как это именно то решение, которое я ищу. Из документации по Wisper я не могу понять, как слушатели регистрируются.
Вот мой код:
приложение / модели / subscription.rb
class Subscription < ActiveRecord::Base
include Wisper::Publisher
def some_method
# some code here
broadcast(:subscription_paused)
end
end
приложение / модели / offer.rb
class Offer < ActiveRecord::Base
def subscription_paused
binding.pry # or whatever
end
end
Так что я не совсем уверен в этой части здесь. Я пробовал различные методы подписки, но я думаю, что это сводится к тому, что я не совсем понимаю этот аспект:
конфиг / Инициализаторы /wisper.rb
Wisper.subscribe(Offer.new)
Я также попробовал, аналогично примеру в вики:
subscription = Subscription.new
subscription.subscribe(Offer.new)
Что мне здесь не хватает? (Я не совсем уверен, должен ли приведенный выше код идти даже в инициализаторе.)
1 ответ
Если таблицы существуют для модели "Предложение" и "Подписка", то код должен работать.
Попробуйте это в консоли rails:
# class Subscription < ActiveRecord::Base
class Subscription
include Wisper::Publisher
def some_method
# some code here
broadcast(:subscription_paused)
end
end
# class Offer < ActiveRecord::Base
class Offer
def subscription_paused
puts "jeijjj"
end
end
Wisper.subscribe(Offer.new)
Subscription.new.some_method
Он должен генерировать вывод:
"jeijjj"