Class: Presume

Inherits:
Object
  • Object
show all
Defined in:
lib/presume.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(doc, name) ⇒ Presume

Returns a new instance of Presume.



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/presume.rb', line 20

def initialize(doc, name)
  @resume_classifier = ResumeClassifier.new(doc, name, self)
  @resume_classifier.classify
  @resume_builder = ResumeBuilder.new(@resume_classifier.classifide_lines)
  @resume_builder.first_pass
  @resume_builder.second_pass
  @resume_builder.build_resume
  @sections = @resume_builder.resume[:sections]
  @headers = @resume_builder.resume[:headers]
  @bullets = @resume_builder.resume[:bullets]
  @all_types = @resume_builder.resume[:all_types]
end

Instance Attribute Details

#all_typesObject

Returns the value of attribute all_types.



18
19
20
# File 'lib/presume.rb', line 18

def all_types
  @all_types
end

#bulletsObject

Returns the value of attribute bullets.



18
19
20
# File 'lib/presume.rb', line 18

def bullets
  @bullets
end

#classifidesObject

Returns the value of attribute classifides.



18
19
20
# File 'lib/presume.rb', line 18

def classifides
  @classifides
end

#headersObject

Returns the value of attribute headers.



18
19
20
# File 'lib/presume.rb', line 18

def headers
  @headers
end

#sectionsObject

Returns the value of attribute sections.



18
19
20
# File 'lib/presume.rb', line 18

def sections
  @sections
end

Instance Method Details

#add_to_matched_searchables(classifide, searchable) ⇒ Object



119
120
121
# File 'lib/presume.rb', line 119

def add_to_matched_searchables(classifide, searchable)
  @matched_searchables += [[searchable,classifide]]
end

#check_for_searchable_matchObject



93
94
95
96
97
98
99
100
101
# File 'lib/presume.rb', line 93

def check_for_searchable_match
  classifide_objects.each do |classifide|
    searchable_objects.each do |searchable|
      if matched_text?(classifide, searchable) and matched_duration?(classifide, searchable)
        add_to_matched_searchables(classifide, searchable)
      end
    end
  end
end

#classifide_objectsObject



103
104
105
# File 'lib/presume.rb', line 103

def classifide_objects
  @classifides.values
end

#get_bullets_idsObject



53
54
55
# File 'lib/presume.rb', line 53

def get_bullets_ids
  @bullets.keys
end

#get_bullets_infoObject



49
50
51
# File 'lib/presume.rb', line 49

def get_bullets_info
  @bullets.values
end

#get_headers_idObject



45
46
47
# File 'lib/presume.rb', line 45

def get_headers_id
  @headers.keys
end

#get_headers_infoObject



41
42
43
# File 'lib/presume.rb', line 41

def get_headers_info
  @headers.values
end

#get_id(id) ⇒ Object



57
58
59
# File 'lib/presume.rb', line 57

def get_id(id)
  @all_types[id][0]
end

#get_sections_idObject



37
38
39
# File 'lib/presume.rb', line 37

def get_sections_id
  @sections.keys
end

#get_sections_infoObject



33
34
35
# File 'lib/presume.rb', line 33

def get_sections_info
  @sections.values
end

#match_searchables_to_classifides(hash, classifides) ⇒ Object



69
70
71
72
73
# File 'lib/presume.rb', line 69

def match_searchables_to_classifides(hash, classifides)
  setup_match_searchables(hash, classifides)
  check_for_searchable_match
  return @matched_searchables
end

#matched_duration?(classifide, searchable) ⇒ Boolean

Returns:

  • (Boolean)


115
116
117
# File 'lib/presume.rb', line 115

def matched_duration?(classifide, searchable)
  classifide.duration >= searchable.duration
end

#matched_text?(classifide, searchable) ⇒ Boolean

Returns:

  • (Boolean)


111
112
113
# File 'lib/presume.rb', line 111

def matched_text?(classifide, searchable)
  !classifide.text[searchable.regex].nil?
end

#reset_matched_searchablesObject



89
90
91
# File 'lib/presume.rb', line 89

def reset_matched_searchables
  @matched_searchables = []
end

#searchable_objectsObject



107
108
109
# File 'lib/presume.rb', line 107

def searchable_objects
  @searchables.all.values
end

#searchables?(hash) ⇒ Boolean

word phrase => duration

Returns:

  • (Boolean)


61
62
63
# File 'lib/presume.rb', line 61

def searchables?(hash) #word phrase => duration
  match_searchables_to_classifides(hash, @headers)
end

#set_classifides(classifides) ⇒ Object



81
82
83
# File 'lib/presume.rb', line 81

def set_classifides(classifides)
  @classifides = classifides
end

#set_searchables(hash) ⇒ Object



85
86
87
# File 'lib/presume.rb', line 85

def set_searchables(hash)
  @searchables = Searchables.new(hash)
end

#setup_match_searchables(hash, classifides) ⇒ Object



75
76
77
78
79
# File 'lib/presume.rb', line 75

def setup_match_searchables(hash, classifides)
  set_classifides(classifides)
  set_searchables(hash)
  reset_matched_searchables
end

#skills?(hash) ⇒ Boolean

word phrase => duration

Returns:

  • (Boolean)


65
66
67
# File 'lib/presume.rb', line 65

def skills?(hash) #word phrase => duration
  match_searchables_to_classifides(hash, @bullets)
end