class ActionDispatch::Journey::GTG::Simulator

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/action_dispatch/journey/gtg/simulator.rbs

class ActionDispatch::Journey::GTG::Simulator
  def memos: (String string) -> Array[]
end

:nodoc:

def initialize(transition_table)

def initialize(transition_table)
  @tt = transition_table
end

def memos(string)

Experimental RBS support (using type sampling data from the type_fusion project).

def memos: (String string) ->

This signature was generated using 1 sample from 1 application.

def memos(string)
  input = StringScanner.new(string)
  state = INITIAL_STATE
  start_index = 0
  while sym = input.scan(%r([/.?]|[^/.?]+))
    end_index = start_index + sym.length
    state = tt.move(state, string, start_index, end_index)
    start_index = end_index
  end
  acceptance_states = state.each_with_object([]) do |s_d, memos|
    s, idx = s_d
    memos.concat(tt.memo(s)) if idx.nil? && tt.accepting?(s)
  end
  acceptance_states.empty? ? yield : acceptance_states
end