class SimpleState::Definition

Attributes

definition[R]

Public Class Methods

define(&block) click to toggle source
# File lib/simple_state/definition.rb, line 2
def self.define(&block)
  new(&block).definition
end
new(&block) click to toggle source
# File lib/simple_state/definition.rb, line 8
def initialize(&block)
  @definition = { transitions: {} }

  instance_exec(&block)
end

Private Instance Methods

state(*states) click to toggle source
# File lib/simple_state/definition.rb, line 20
def state(*states)
  @definition[:states] = states
end
transition(name, to:, from:) click to toggle source
# File lib/simple_state/definition.rb, line 16
def transition(name, to:, from:)
  @definition[:transitions][name] = { from: [*from], to: to }
end