Skip to content

elcuervo/machina

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Machina

a god introduced by means of a crane in ancient Greek and Roman drama to decide the final outcome

fsm = Machina.new(:unconfirmed)

fsm.when[:welcome_email] = -> { send_welcome_email }
fsm.when[:enable_account] = -> (user) { user.enabled! }

fsm[:confirm] = {
  :unconfirmed => [:welcome_email, :enable_account, :confirmed],
}

fsm.on[:confirm] = -> (user) { puts "Starting confirmation process for #{user.id}." }

fsm.state # => :unconfirmed
fsm.trigger!(:confirm, user)
fsm.state # => :confirmed

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published