Class: Moory::Recogniser

Inherits:
Object
  • Object
show all
Includes:
Afferent
Defined in:
lib/moory/recogniser.rb

Instance Attribute Summary

Attributes included from Afferent

#state, #transitions

Instance Method Summary collapse

Methods included from Afferent

#awaits, #issue, #understand?

Constructor Details

#initialize(rules:, initial:, final:) ⇒ Recogniser



5
6
7
8
9
# File 'lib/moory/recogniser.rb', line 5

def initialize(rules:, initial:, final:)
  @initial = initial
  @final   = final
  Loader.load(rules: rules, machine: self)
end

Instance Method Details

#accepts?(string) ⇒ Boolean



11
12
13
14
15
# File 'lib/moory/recogniser.rb', line 11

def accepts?(string)
  reset

  string.each_char.all? { |c| issue(c) } && accepting?
end