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