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"
Другие вопросы по тегам