Module: Speculations::Parser::State::Examples

Extended by:
Examples
Included in:
Examples
Defined in:
lib/speculations/parser/state/examples.rb

Instance Method Summary collapse

Instance Method Details

#parse(data) ⇒ Object

def parse line, lnb, node, _ctxt, debug: false



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/speculations/parser/state/examples.rb', line 8

def parse(data)
  # data.info(:examples)
  line = data.line
  case
  when State.blank_line(line)
    #dbg_match("blank_line", data)
    data
  when State.eoblock_match(line)
    #dbg_match("eblock", data)
    data.up_to_context(:out)
  when State.ruby_code_block(line)
    #dbg_match("specify block start", data)
    node = data.node.new_specify(lnb: data.lnb)
    data.update(state: :specify_block, node:)
  else
    #dbg_match("specify block", data)
    node = data.node.new_specify(lnb: data.lnb, line: data.line)
    data.update(state: :specify_block, ctxt: data.line, node:)
  end
end