Sha256: 9204d572f6ac8563ca79a9a1df7e8a4e1c654c360e9f4b19dcb51e2443059b56
Contents?: true
Size: 597 Bytes
Versions: 4
Compression:
Stored size: 597 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 level :to, default: -> { [] } end end end end
Version data entries
4 entries across 4 versions & 1 rubygems