class Yanbi::DiadBag

Public Instance Methods

process(raw) { |x| ... } click to toggle source
# File lib/wordbags/diadbag.rb, line 16
def process(raw)
  processed = raw.downcase
  processed.gsub!(/[^\w\s'\-]/, ' ')
  words = processed.split
  words = words.map {|x| x.split /-/}.flatten
  
  if block_given?
    words.map! {|x| yield x}
  end
  
  diads = []
  words.each_with_index {|w, i| diads << [w, words[i+1]]}
  diads.delete_at(-1)
  
  words = diads.map {|x| "#{x.first} #{x.last}"}
  update_counts(words)
  @words.concat(words)
end