class ResumeClassifier

Attributes

classifide_lines[RW]
lines[RW]
text[RW]

Public Class Methods

new(resume_text, name, presume) click to toggle source
# File lib/classes/resume_classifier.rb, line 5
def initialize(resume_text, name, presume)
      @text = resume_text  
      @classifide_lines = {}
      @lines = []
  @user_name = name
  @presume = presume
  clean_text
      split_text
end

Public Instance Methods

blank?(line) click to toggle source
# File lib/classes/resume_classifier.rb, line 62
def blank?(line)
      line[regex_characters_and_digits].nil?
end
check_classifications() click to toggle source
# File lib/classes/resume_classifier.rb, line 87
def check_classifications
      classifications.each do |classification|
              set_classification_instance(classification)
      end
end
classification?(classification) click to toggle source
# File lib/classes/resume_classifier.rb, line 97
def classification?(classification)
      @line[regex_(classification)]
end
classify() click to toggle source
# File lib/classes/resume_classifier.rb, line 66
def classify
      number_of_lines.times do |n|
              set_line_number(n)
              set_line(n)
              check_classifications
              merge_to_classifide_lines
      end
end
clean_text() click to toggle source
# File lib/classes/resume_classifier.rb, line 31
def clean_text
  separate_tabbed_words
  remove_extra_spaces
end
line_non_regex_classifications() click to toggle source
# File lib/classes/resume_classifier.rb, line 110
def line_non_regex_classifications
      @non_regex_classications = {number_of_words: number_of_words, many_words: many_words, verbs: verbs?, text: @line, type: nil, id: @line_number, presume: @presume}
end
line_text(n) click to toggle source
# File lib/classes/resume_classifier.rb, line 75
def line_text(n)
      @lines[n]
end
lines_together() click to toggle source
# File lib/classes/resume_classifier.rb, line 15
def lines_together
  @lines_together ||= @lines.join("\n")
end
many_words() click to toggle source
# File lib/classes/resume_classifier.rb, line 121
def many_words
      @number_of_words >= 5
end
merge_to_classifide_lines() click to toggle source
# File lib/classes/resume_classifier.rb, line 105
def merge_to_classifide_lines
      pass_classification_instances_to_hash
      @classifide_lines.merge!({@line_number => Classifide.new(@line_classifications.merge(line_non_regex_classifications))})      
end
number_of_lines() click to toggle source
# File lib/classes/resume_classifier.rb, line 58
def number_of_lines
      @lines.length
end
number_of_words() click to toggle source
# File lib/classes/resume_classifier.rb, line 117
def number_of_words
  @number_of_words = remove_dates_and_cities.split.size
end
pass_classification_instances_to_hash() click to toggle source
# File lib/classes/resume_classifier.rb, line 133
def pass_classification_instances_to_hash
      @line_classifications = Hash[classifications.map{|classification| [classification.to_sym, instance_variable_get("@#{classification}")]}]
end
regex_(classification) click to toggle source
# File lib/classes/resume_classifier.rb, line 101
def regex_(classification)
      send("regex_#{classification}")
end
regex_name() click to toggle source
# File lib/classes/resume_classifier.rb, line 27
def regex_name
  Regexp.new(@user_name, "i")
end
remove_all_lines() click to toggle source
# File lib/classes/resume_classifier.rb, line 50
def remove_all_lines
  @lines = []
end
remove_blanks() click to toggle source
# File lib/classes/resume_classifier.rb, line 54
def remove_blanks
      @lines = @lines.reject{|line| blank?(line)}
end
remove_dates_and_cities() click to toggle source
# File lib/classes/resume_classifier.rb, line 114
def remove_dates_and_cities
  @date_and_city_less_line = @line.gsub(Regexp.union(regex_dates,regex_dates_2,regex_cities),"")
end
remove_extra_spaces() click to toggle source
# File lib/classes/resume_classifier.rb, line 36
def remove_extra_spaces
  @text = @text.gsub(regex_remove_extra_spaces, ",")
end
separate_tabbed_words() click to toggle source
# File lib/classes/resume_classifier.rb, line 41
def separate_tabbed_words
  @text = @text.gsub(regex_separate_tabbed_words, ",")
end
set_classification_instance(classification) click to toggle source
# File lib/classes/resume_classifier.rb, line 93
def set_classification_instance(classification)
      instance_variable_set(("@" + classification).to_sym, classification?(classification))
end
set_line(number) click to toggle source
# File lib/classes/resume_classifier.rb, line 79
def set_line(number)
      @line = @lines[number]
end
set_line_number(number) click to toggle source
# File lib/classes/resume_classifier.rb, line 83
def set_line_number(number)
      @line_number = number
end
split_text() click to toggle source
# File lib/classes/resume_classifier.rb, line 45
def split_text
      @lines = @text.split("\n")
      remove_blanks
end
tagged_lines() click to toggle source
# File lib/classes/resume_classifier.rb, line 23
def tagged_lines
  @tagged_lines ||= tagged_lines_together.split("\n")
end
tagged_lines_together() click to toggle source
# File lib/classes/resume_classifier.rb, line 19
def tagged_lines_together
  @tagged_lines_together ||= tgr.add_tags(lines_together)
end
verbs?() click to toggle source
# File lib/classes/resume_classifier.rb, line 125
def verbs?
      if tagged_lines[@line_number].nil?
              @verbs = nil
      else
              @verbs = tagged_lines[@line_number][regex_engtagger_verbs]
      end
end