Sha256: db66caf792e46b2df06839d66dcd0e80b6ac3cc241a890e03584028f06f64b1d

Contents?: true

Size: 971 Bytes

Versions: 4

Compression:

Stored size: 971 Bytes

Contents

dir = File.dirname(__FILE__)
$LOAD_PATH.unshift dir unless $LOAD_PATH.include?(dir)

require 'surveyor/config'
require 'surveyor/acts_as_response'

module Surveyor
  RAND_CHARS = [('a'..'z'), ('A'..'Z'), (0..9)].map(&:to_a).flatten.to_s

  def self.make_tiny_code(len = 10)
    len.times.map{|i| RAND_CHARS[rand(RAND_CHARS.size), 1] }.to_s
  end

  def self.to_normalized_string(text)
    words_to_omit = %w(a be but has have in is it of on or the to when)
    col_text = text.gsub(/(<[^>]*>)|\n|\t/s, ' ') # Remove html tags
    col_text.downcase!                            # Remove capitalization
    col_text.gsub!(/\"|\'/, '')                   # Remove potential problem characters
    col_text.gsub!(/\(.*?\)/,'')                  # Remove text inside parens
    col_text.gsub!(/\W/, ' ')                     # Remove all other non-word characters      
    cols = (col_text.split(' ') - words_to_omit)
    (cols.size > 5 ? cols[-5..-1] : cols).join("_")
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
surveyor-0.9.3 lib/surveyor.rb
surveyor-0.9.2 lib/surveyor.rb
surveyor-0.9.1 lib/surveyor.rb
surveyor-0.9.0 lib/surveyor.rb