Подобие wordpress hooks для rails

Сам новичок в ruby. Но пытаюсь повторить функционал подобия wordpress hooks для rails. или подобие https://packagist.org/packages/voku/php-hooks

Задача: Есть интернет магазин на rails. У заказа есть определеные цыклы, допустим: покупка, подготовка заказа, оправка заказа. В зависимости от купленых продуктов должные происходить определеные дейсвия. Допустим при покупке: Продукт 1 - делает у заказа статус "отправленый" и определеные эмейлы. Продукт 2 - статус заказа "подготовка к заказу" и другие эмейлы и так далее.

Так же при покупке оповещать пиксели как гугл аналитик или фейсбук пиксель и тп

На даный момент есть функция checkout:

def checkout
...
#some checkout functionality creating order
do_some_pixels(order)
do_some_pixels2(order)
do_some_pixels3(order)
order.products.each do |p|
    if p.name == "product1" do
      #doSomething for product 1
    end
    if p.name == "product2" do
      #doSomething for product 2
    end
end
end

Чем больше разнных продуктов и пикселей тем "грязнее" становится checkout функция.

Цель: Заменить эти кондици и функции(что не совсем относится к чекаут) постаратся использовать подобие hooks/events Тоесть вместо них у нас будет какой то eventTrigger и он будет запускать все что подписано на него. И для каждого пикселя/продукта у нас должен быть отдельный файл где можно подписаться на определеные event/hooks

Я знаю, как это сделать на php. Но не совсем понимаю, как сделать это сделать на rails. Буду благодарен за любую информацию или советы.


Ответы (0 шт):