Sha256: 91465a12fa93a136fc1d29d4851c5606fa6a2eca0fb020e8860ceaa70e9f5c13
Contents?: true
Size: 595 Bytes
Versions: 4
Compression:
Stored size: 595 Bytes
Contents
module NxtStateMachine class DefuseRegistry include ::NxtRegistry def register(from, to, kind) Array(from).each do |from_state| Array(to).each do |to_state| defusing_errors = errors.from(from_state).to(to_state) Array(kind).each_with_object(defusing_errors) { |error, acc| acc << error } end end end def resolve(transition) errors.from(transition.from.enum).to(transition.to.enum) end private def errors @errors ||= registry :from do nested :to, default: -> { [] } end end end end
Version data entries
4 entries across 4 versions & 1 rubygems