parent
17eeda04ad
commit
f15ea64dec
@ -1,45 +1,46 @@
|
|||||||
module Report
|
module Report
|
||||||
class Gps
|
class Gps
|
||||||
def self.to_csv
|
def self.to_csv
|
||||||
headers = ['School', 'Pillar', 'Indicator', 'Period', 'HALS Category', 'Ref.', 'Score', 'Zone']
|
headers = ["School", "Pillar", "Indicator", "Period", "HALS Category", "Ref.", "Score", "Zone"]
|
||||||
attributes = %w[school_name pillar indicator period category measure_ids score zone]
|
attributes = %w[school_name pillar indicator period category measure_ids score zone]
|
||||||
pillars = generate_pillars
|
pillars = generate_pillars
|
||||||
CSV.generate(headers: true) do |csv|
|
CSV.generate(headers: true) do |csv|
|
||||||
csv << headers
|
csv << headers
|
||||||
pillars.each do |gps|
|
pillars.each do |gps|
|
||||||
csv << attributes.map { |attr| gps.send(attr) }
|
csv << attributes.map { |attr| gps.send(attr) }
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def self.generate_pillars
|
def self.generate_pillars
|
||||||
schools = School.all
|
schools = School.all
|
||||||
academic_years = AcademicYear.order(range: :desc).first(2)
|
academic_years = AcademicYear.order(range: :desc).first(2)
|
||||||
periods = %w[Current Previous]
|
periods = %w[Current Previous]
|
||||||
|
|
||||||
[].tap do |pillars|
|
[].tap do |pillars|
|
||||||
academic_years.zip(periods).each do |academic_year, period|
|
academic_years.zip(periods).each do |academic_year, period|
|
||||||
schools.each do |school|
|
schools.each do |school|
|
||||||
INDICATORS.each do |indicator, measures|
|
INDICATORS.each do |indicator, measures|
|
||||||
pillars << Pillar.new(school:, measures:, indicator:, period:, academic_year:)
|
pillars << Pillar.new(school:, measures:, indicator:, period:, academic_year:)
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
INDICATORS =
|
INDICATORS =
|
||||||
{ "Teaching Environment": [Measure.includes(%i[subcategory admin_data_items]).find_by_measure_id('1A-iii'), Measure.includes(%i[subcategory admin_data_items]).find_by_measure_id('1B-ii')],
|
{ "Teaching Environment": [::Measure.includes(%i[subcategory admin_data_items]).find_by_measure_id("1A-iii"), ::Measure.includes(%i[subcategory admin_data_items]).find_by_measure_id("1B-ii")],
|
||||||
"Safety": Subcategory.find_by_subcategory_id('2A').measures.includes(:admin_data_items),
|
"Safety": ::Subcategory.find_by_subcategory_id("2A").measures.includes(:admin_data_items),
|
||||||
"Relationships": Subcategory.find_by_subcategory_id('2B').measures.includes(:admin_data_items),
|
"Relationships": ::Subcategory.find_by_subcategory_id("2B").measures.includes(:admin_data_items),
|
||||||
"Academic Orientation": Subcategory.find_by_subcategory_id('2C').measures.includes(:admin_data_items),
|
"Academic Orientation": ::Subcategory.find_by_subcategory_id("2C").measures.includes(:admin_data_items),
|
||||||
"Facilities & Personnel": Subcategory.find_by_subcategory_id('3A').measures.includes(:admin_data_items),
|
"Facilities & Personnel": ::Subcategory.find_by_subcategory_id("3A").measures.includes(:admin_data_items),
|
||||||
"Family-School Relationships": [Measure.includes(%i[subcategory admin_data_items]).find_by_measure_id('3C-i')],
|
"Family-School Relationships": [::Measure.includes(%i[subcategory
|
||||||
"Community Involvement & External Partners": [Measure.includes(%i[subcategory
|
admin_data_items]).find_by_measure_id("3C-i")],
|
||||||
admin_data_items]).find_by_measure_id('3C-ii')],
|
"Community Involvement & External Partners": [::Measure.includes(%i[subcategory
|
||||||
"Perception of Performance": Subcategory.find_by_subcategory_id('4A').measures.includes(:admin_data_items),
|
admin_data_items]).find_by_measure_id("3C-ii")],
|
||||||
"Student Commitment To Learning": Subcategory.find_by_subcategory_id('4B').measures.includes(:admin_data_items),
|
"Perception of Performance": ::Subcategory.find_by_subcategory_id("4A").measures.includes(:admin_data_items),
|
||||||
"Critical Thinking": Subcategory.find_by_subcategory_id('4C').measures.includes(:admin_data_items),
|
"Student Commitment To Learning": ::Subcategory.find_by_subcategory_id("4B").measures.includes(:admin_data_items),
|
||||||
"College & Career Readiness": Subcategory.find_by_subcategory_id('4D').measures.includes(:admin_data_items) }
|
"Critical Thinking": ::Subcategory.find_by_subcategory_id("4C").measures.includes(:admin_data_items),
|
||||||
|
"College & Career Readiness": ::Subcategory.find_by_subcategory_id("4D").measures.includes(:admin_data_items) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in new issue