class Moory::Transition::Storage
Public Instance Methods
alphabet(restrict:nil)
click to toggle source
# File lib/moory/transitions.rb, line 26 def alphabet(restrict:nil) storage .select { |k| restrict ? k == restrict : true } .values .collect { |r| r.keys } .flatten .to_set end
count()
click to toggle source
# File lib/moory/transitions.rb, line 6 def count storage.size end
egresses(state:)
click to toggle source
# File lib/moory/transitions.rb, line 35 def egresses(state:) alphabet(restrict: state) end
response(origin:, stimulus:)
click to toggle source
# File lib/moory/transitions.rb, line 16 def response(origin:, stimulus:) storage.dig(origin, stimulus) end
states()
click to toggle source
# File lib/moory/transitions.rb, line 20 def states storage .keys .to_set end
storage()
click to toggle source
# File lib/moory/transitions.rb, line 39 def storage @storage ||= {} end
store(params)
click to toggle source
# File lib/moory/transitions.rb, line 10 def store(params) storage.merge!(Shunter.new(params)) do |key, oldval, newval| oldval.merge!(newval) end end