class GuessWhoNoFuzzy::Tokenizer
Public Class Methods
new(str)
click to toggle source
# File lib/guess_who_no_fuzzy/tokenizer.rb, line 7 def initialize(str) @str = str end
tokenize!(str)
click to toggle source
# File lib/guess_who_no_fuzzy/tokenizer.rb, line 3 def self.tokenize!(str) self.new(str).tokenize! end
Public Instance Methods
tokenize!()
click to toggle source
# File lib/guess_who_no_fuzzy/tokenizer.rb, line 11 def tokenize! token_arrays = [] str_size = @str.size str_size.times do |i| first_slice = i + 1 first_name = @str.slice(0, first_slice) (str_size - i).times do |j| mid_slice = j + 1 mid_name = @str.slice(first_slice, mid_slice) last_slice = first_slice + mid_slice last_name = @str.slice(last_slice...str_size) token_array = [first_name] token_array << mid_name unless blank?(mid_name) token_array << last_name unless blank?(last_name) token_arrays << token_array end end token_arrays end
Private Instance Methods
blank?(token)
click to toggle source
# File lib/guess_who_no_fuzzy/tokenizer.rb, line 38 def blank?(token) token.nil? || token.empty? end