From f15ea64dec7428987d33b5a1f8f006e553ed0630 Mon Sep 17 00:00:00 2001 From: Nelson Jovel Date: Fri, 8 Mar 2024 14:10:43 -0800 Subject: [PATCH] fix: Correctly namespace models to avoid crashing the build process --- app/models/report/gps.rb | 69 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/app/models/report/gps.rb b/app/models/report/gps.rb index cd46e9f1..6b36d1a3 100644 --- a/app/models/report/gps.rb +++ b/app/models/report/gps.rb @@ -1,45 +1,46 @@ 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 + 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] + 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 + [].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) } + 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