Sha256: 463612777f9eec77e1251e0abaef49ccf043b4b4bc7a7b70b0bc27f42c1990a9

Contents?: true

Size: 518 Bytes

Versions: 1

Compression:

Stored size: 518 Bytes

Contents

require 'set'

module FilterWord
  module RsegEngine
    LETTER_SYMBOLS = Set.new ('a'..'z').to_a + ('A'..'Z').to_a

    class English < Engine
      def initialize
        @word = ''
        super
      end
    
      def process(char)
        match = false
        word = nil
      
        if LETTER_SYMBOLS.include?(char)
          @word << char
          match = true
        else
          word = @word
          @word = ''
          match = false
        end
        [match, word]
      end  
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
filter_word-0.0.2 lib/filter_word/engines/english.rb