mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-07 13:38:18 -08:00
24 lines
554 B
Ruby
24 lines
554 B
Ruby
# frozen_string_literal: true
|
||
|
||
class AcademicYear < ActiveRecord::Base
|
||
def self.find_by_date(date)
|
||
year = parse_year_range(date:)
|
||
AcademicYear.find_by_range("#{year.start}-#{year.end.to_s[2, 3]}")
|
||
end
|
||
|
||
def formatted_range
|
||
years = range.split('-')
|
||
"#{years.first} – 20#{years.second}"
|
||
end
|
||
|
||
def self.parse_year_range(date:)
|
||
year = date.year
|
||
if date.month > 6
|
||
AcademicYearRange.new(year, year + 1)
|
||
else
|
||
AcademicYearRange.new(year - 1, year)
|
||
end
|
||
end
|
||
end
|
||
|
||
AcademicYearRange = Struct.new(:start, :end)
|