mohnstrudel / store_manager_v2

0 stars 0 forks source link

A: Implement state machine #41

Open mohnstrudel opened 11 months ago

mohnstrudel commented 11 months ago

Я большой фанат стейт машины (https://github.com/state-machines/state_machines) и хотел бы её использовать для передвижения двух статусов закупки и продажи:

Пример: Закупка неоплачена и ещё не выпущена: payment_state = :unpaid physical_state = :unreleased

Закупка оплачивается и выпускается: purchase.pay

event :pay do
      transition [:unpaid] => :paid
    end

purchase.pay

event :release do
      transition [:unreleased] => :released
    end

В будущем можно будет использовать также оба статуса и для клиентов. Например, чтобы я, но и сам клиент понимал, какой статус оплаты и какой статус самого заказа. Статусы оплаты могут быть: unpaid partially paid fully_paid

Статусы заказа могут быть: preorder (если фигурка не в категории "in stock") или order если она на складе inbound China container shipped shipped