implement suggestions from static code analysis tools

This commit is contained in:
rebuilt 2022-07-12 19:15:54 -07:00
parent bb5f668497
commit e89358dacc
21 changed files with 252 additions and 121 deletions

View file

@ -1,12 +1,11 @@
# frozen_string_literal: true
class AnalyzeController < SqmApplicationController
def index
assign_categories
assign_subcategories
assign_measures
assign_academic_years
end
before_action :assign_categories, :assign_subcategories, :assign_measures, :assign_academic_years,
:response_rate_timestamp, only: [:index]
def index; end
private
def assign_categories
@category ||= Category.find_by_category_id(params[:category])
@ -21,16 +20,29 @@ class AnalyzeController < SqmApplicationController
end
def assign_measures
@measures = @subcategory.measures.order(:measure_id).includes(%i[subcategory])
@measures = @subcategory.measures.order(:measure_id).includes(%i[admin_data_items subcategory])
end
def assign_academic_years
@available_academic_years = AcademicYear.order(:range).all
@academic_year_params = params[:academic_years].split(',') if params[:academic_years]
year_params = params[:academic_years]
@academic_year_params = year_params.split(',') if year_params
@selected_academic_years = []
@academic_year_params ||= []
@academic_year_params.each do |year|
@selected_academic_years << AcademicYear.find_by_range(year)
end
end
def response_rate_timestamp
@response_rate_timestamp = begin
academic_year = @selected_academic_years.last
academic_year ||= @academic_year
rate = ResponseRate.where(school: @school,
academic_year:).order(updated_at: :DESC).first || Today.new
rate.updated_at
end
@response_rate_timestamp
end
end

View file

@ -1,10 +1,24 @@
# frozen_string_literal: true
class CategoriesController < SqmApplicationController
before_action :response_rate_timestamp, only: [:index]
helper GaugeHelper
def show
@categories = Category.sorted.map { |category| CategoryPresenter.new(category:) }
@category = CategoryPresenter.new(category: Category.find_by_slug(params[:id]))
end
private
def response_rate_timestamp
@response_rate_timestamp = begin
rate = ResponseRate.where(school: @school,
academic_year: @academic_year).order(updated_at: :DESC).first || Today.new
rate.updated_at
end
@response_rate_timestamp
end
end

View file

@ -2,6 +2,7 @@
class OverviewController < SqmApplicationController
before_action :check_empty_dataset, only: [:index]
before_action :response_rate_timestamp, only: [:index]
helper VarianceHelper
def index
@ -31,4 +32,14 @@ class OverviewController < SqmApplicationController
def subcategories
@subcategories ||= Subcategory.all
end
def response_rate_timestamp
@response_rate_timestamp = begin
rate = ResponseRate.where(school: @school,
academic_year: @academic_year).order(updated_at: :DESC).first || Today.new
rate.updated_at
end
@response_rate_timestamp
end
end

View file

@ -3,6 +3,7 @@
class SqmApplicationController < ApplicationController
protect_from_forgery with: :exception, prepend: true
before_action :set_schools_and_districts
before_action :response_rate_timestamp
helper HeaderHelper
private