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/income.rb

30 lines
765 B

class Income < ApplicationRecord
scope :by_designation, -> { all.map { |income| [income.designation, income] }.to_h }
scope :by_slug, -> { all.map { |income| [income.slug, income] }.to_h }
include FriendlyId
friendly_id :designation, use: [:slugged]
def self.to_designation(income)
case income
in /Free\s*Lunch|Reduced\s*Lunch|Low\s*Income|Reduced\s*price\s*lunch/i
"Economically Disadvantaged - Y"
in /Not\s*Eligible/i
"Economically Disadvantaged - N"
else
"Unknown"
end
end
LABELS = {
"Economically Disadvantaged - Y" => "Economically Disadvantaged",
"Economically Disadvantaged - N" => "Not Economically Disadvantaged",
"Unknown" => "Unknown"
}
def label
LABELS[designation]
end
end