class LawSchoolOutcomes::EmploymentSummaryReport
Attributes
lines[R]
url[R]
year[R]
Public Class Methods
new(url: nil, year: 2015)
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 17 def initialize(url: nil, year: 2015) @url = url @year = year @lines = read_lines end
Public Instance Methods
domain()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 23 def domain Domainatrix.parse(url).domain end
Also aliased as: school_name
employment_location_results()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 56 def employment_location_results @employment_location_results ||= EmploymentLocationSection.new(self).results end
employment_status_results()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 40 def employment_status_results employment_status_section.results end
employment_status_section()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 36 def employment_status_section @employment_status_section ||= EmploymentStatusSection.new(self) end
employment_type_results()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 48 def employment_type_results @employment_type_results ||= EmploymentTypeSection.new(self).results end
results()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 60 def results { url: url, school_name: school_name, school_info: school_info, year: year, total_grads: total_grads, #pct_employed_grads: pct_employed_grads, employment_outcomes:{ #total_employed_grads: total_employed_grads, statuses: employment_status_results, types: employment_type_results, locations: employment_location_results } } end
school_funded_employment_results()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 52 def school_funded_employment_results # todo end
school_info()
click to toggle source
def year
@year ||= lines[5].gsub("EMPLOYMENT SUMMARY FOR ","").gsub(" GRADUATES","").to_i
end
# File lib/law_school_outcomes/employment_summary_report.rb, line 32 def school_info @school_info || School.new(self).info end
total_grads()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 44 def total_grads employment_status_section.total_graduates end
Private Instance Methods
download()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 87 def download FileUtils.rm_rf(file_source) File.open(file_source, "wb") do |local_file| open(url, "rb") do |remote_file| local_file.write(remote_file.read) end end end
file_source()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 79 def file_source File.join(File.expand_path("../../../reports/#{year}/", __FILE__), "#{domain}.pdf") end
io()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 97 def io if File.exist?(file_source) file_source else download # optionally download for next time, to avoid future network requests url_source end end
read_lines()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 106 def read_lines reader = PDF::Reader.new(io) lines = reader.pages.first.text.split("\n") lines.select!{|line| line.size > 0 } lines.map!{|line| line.strip } raise LineCountError unless lines.count == 53 return lines end
url_source()
click to toggle source
# File lib/law_school_outcomes/employment_summary_report.rb, line 83 def url_source open(url) end