class TextExtractor::Extraction

represents a single execution of a TextExtractor

Attributes

extractor[R]
input[R]
matches[R]
pos[R]
re[R]
values[R]

Public Class Methods

new(input, extractor, fill = {}) click to toggle source
# File lib/text_extractor/extraction.rb, line 6
def initialize(input, extractor, fill = {})
  @input = input
  @extractor = extractor
  @fill = fill
  @pos = 0
  @matches = []
  @last_match = nil
end

Public Instance Methods

extraction_match(match) click to toggle source
# File lib/text_extractor/extraction.rb, line 21
def extraction_match(match)
  extractor.find_record_for(match).extraction(match, @fill)
end
extraction_matches() click to toggle source
# File lib/text_extractor/extraction.rb, line 15
def extraction_matches
  matches.flat_map do |match|
    extraction_match(match)
  end
end
scan() click to toggle source
# File lib/text_extractor/extraction.rb, line 25
def scan
  re = extractor.to_re
  loop do
    match = input.match(re, pos)
    break unless match

    @pos = match.end(0)
    @matches << match
  end
  self
end