Slide 26
Slide 26 text
After
class Membership
aasm column: :state do
event(:pay) do
before { |due| extend_by_due(due) }
after_commit { |due| send_applied_mail(due) }
transitions from: :applying_unpaid, to: :applying_paid
transitions from: :legal, to: :legal
transitions from: :expired, to: :legal
end
event(:cancel_applying, after_commit: :send_cancel_mailer)
do
transitions from: %i[applying_unpaid applying_paid],
to: :applying_cancelled
end
end
end
class MembershipDue
aasm column: :state do
state :pending, initial: true
state :paid
event :pay, before: :before_pay, after: :after_pay,
guard: :payable? do
transitions(from: :pending, to: :paid)
end
end
end