class Moory::Decoder
Public Class Methods
new(rules:, initial:, ostream:$stdout)
click to toggle source
# File lib/moory/decoder.rb, line 5 def initialize(rules:, initial:, ostream:$stdout) @initial = initial @state = initial @ostream = ostream configure(rules) end
Public Instance Methods
decode(string)
click to toggle source
# File lib/moory/decoder.rb, line 12 def decode(string) string.each_char { |c| issue(c) } end
Private Instance Methods
configure(rules)
click to toggle source
# File lib/moory/decoder.rb, line 18 def configure(rules) Loader.load(rules: rules, machine: self) repertoire.always = method(:write) end
write(output=nil)
click to toggle source
# File lib/moory/decoder.rb, line 23 def write(output=nil) @ostream.write(output) if output end