module Base::TimeCard::Cycle
  extend ActiveSupport::Concern
  include Castable

  included do
    self.table_name = :TimeCardCycles
    self.primary_key = :TCCID

    cast_as_boolean :Open

    alias_attribute :id, :TCCID
    alias_attribute :school_id, :SchoolID
    alias_attribute :name, :Name
    alias_attribute :start, :StartDate
    alias_attribute :stop, :EndDate
    alias_attribute :open, :Open

    before_create :set_defaults

    private
      def set_defaults
        self.Open = 0 unless self.Open
      end
  end
end
