You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sqm-dashboards/app/models/report/gps.rb

46 lines
2.6 KiB

module Report
class Gps
# def self.to_csv
# headers = ['School', 'Pillar', 'Indicator', 'Period', 'HALS Category', 'Ref.', 'Score', 'Zone']
# attributes = %w[school_name pillar indicator period category measure_ids score zone]
# pillars = generate_pillars
# CSV.generate(headers: true) do |csv|
# csv << headers
# pillars.each do |gps|
# csv << attributes.map { |attr| gps.send(attr) }
# end
# end
# end
# def self.generate_pillars
# schools = School.all
# academic_years = AcademicYear.order(range: :desc).first(2)
# periods = %w[Current Previous]
# [].tap do |pillars|
# academic_years.zip(periods).each do |academic_year, period|
# schools.each do |school|
# INDICATORS.each do |indicator, measures|
# pillars << Pillar.new(school:, measures:, indicator:, period:, academic_year:)
# end
# end
# end
# end
# end
# 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')],
# "Safety": Subcategory.find_by_subcategory_id('2A').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),
# "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')],
# "Community Involvement & External Partners": [Measure.includes(%i[subcategory
# admin_data_items]).find_by_measure_id('3C-ii')],
# "Perception of Performance": Subcategory.find_by_subcategory_id('4A').measures.includes(:admin_data_items),
# "Student Commitment To Learning": Subcategory.find_by_subcategory_id('4B').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