Class: Certifications

Inherits:
Object
  • Object
show all
Includes:
Utilities
Defined in:
lib/certifications.rb

Instance Method Summary collapse

Methods included from Utilities

#is_empty?, #make_list

Constructor Details

#initialize(html) ⇒ Certifications

Returns a new instance of Certifications.



6
7
8
9
# File 'lib/certifications.rb', line 6

def initialize(html)
  @html = html
  parse_certifications
end

Instance Method Details

#certificate_authority(certificate) ⇒ Object

Issuing authority



38
39
40
41
# File 'lib/certifications.rb', line 38

def certificate_authority(certificate)
  cert_auth = certificate.css("h5")
  return cert_auth.text.split(", ")[0] if !is_empty?(cert_auth)
end

#certificate_end(certificate) ⇒ Object

Expiry date for certificate



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

def certificate_end(certificate)
  cert_end = certificate.css(".date-range").css("time")
  return cert_end[1].text if !is_empty?(cert_end[1])
end

#certificate_name(certificate) ⇒ Object

Name of certification



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

def certificate_name(certificate)
  cert_name = certificate.css("h4")
  return cert_name.text if !is_empty?(cert_name)
end

#certificate_start(certificate) ⇒ Object

Start date for certificate



50
51
52
53
# File 'lib/certifications.rb', line 50

def certificate_start(certificate)
  cert_start = certificate.css(".date-range").css("time")
  return cert_start[0].text if !is_empty?(cert_start[0])
end

#get_certificationsObject

Get list of certifications



12
13
14
# File 'lib/certifications.rb', line 12

def get_certifications
  return @certificate_list
end

#license_num(certificate) ⇒ Object

License Number



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

def license_num(certificate)
  cert_num = certificate.css("h5")
  return cert_num.text.split(", ")[1] if !is_empty?(cert_num)
end

#parse_certificationsObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/certifications.rb', line 16

def parse_certifications
  certifications = @html.css(".certifications").css("li")

  @certificate_list = Array.new
  certifications.each do |certificate|
    @certificate_list.push({
                             certificate_name: certificate_name(certificate),
                             certificate_authority: certificate_authority(certificate),
                             license_num: license_num(certificate),
                             certificate_start: certificate_start(certificate),
                             certificate_end: certificate_end(certificate)
                           })
  end
end