class Enum::Transitions::Configuration

Attributes

callbacks[R]
enum[R]
states[R]
transitions[R]

Public Class Methods

new(enum, states) click to toggle source

@param enum [String] @param states [Array<String>]

# File lib/enum/transitions/configuration.rb, line 8
def initialize(enum, states)
  @enum   = enum
  @states = states
  @transitions = {}
  @callbacks   = {}
end

Public Instance Methods

with_safe_nesting() { || ... } click to toggle source
# File lib/enum/transitions/configuration.rb, line 15
def with_safe_nesting
  @transitions.default_proc = ->(hash, key) { hash[key] = {} }
  @callbacks.default_proc = ->(hash, key) { hash[key] = [] }
  yield
ensure
  @callbacks.default_proc = nil
  @transitions.default_proc = nil
end