module Base::Language
  extend ActiveSupport::Concern

  included do
    self.table_name = 'StudentLanguages'
    self.primary_key = 'SLID'

    alias_attribute :id, :SLID
    alias_attribute :name, :Name
    alias_attribute :default, :Code0
    alias_attribute :indiana, :Code1
    alias_attribute :nebraska, :Code2
    alias_attribute :new_jersey, :Code3
    alias_attribute :california, :Code4
    alias_attribute :iowa, :Code5
    alias_attribute :new_york, :Code7
    alias_attribute :pennslyvania, :Code8
    alias_attribute :colorado, :Code9
    alias_attribute :kansas, :Code10
    alias_attribute :illinois, :Code11

    before_create :set_defaults

    private
      def set_defaults
        self.Name = '' unless self.Name
        self.Code0 = '' unless self.Code0
        self.Code1 = '' unless self.Code1
        self.Code2 = '' unless self.Code2
        self.Code3 = '' unless self.Code3
        self.Code4 = '' unless self.Code4
        self.Code5 = '' unless self.Code5
        self.Code6 = '' unless self.Code6
        self.Code7 = '' unless self.Code7
        self.Code8 = '' unless self.Code8
        self.Code9 = '' unless self.Code9
        self.Code10 = '' unless self.Code10
        self.Code11 = '' unless self.Code11
        self.Code12 = '' unless self.Code12
        self.Code14 = '' unless self.Code14
      end
  end
end
