module Base::Restore
  extend ActiveSupport::Concern

  included do
    self.table_name = 'Restores'
    self.primary_key = 'RestoreID'

    alias_attribute :id, :RestoreID
    alias_attribute :school_id, :SchoolID
    alias_attribute :crud_class, :Class
    alias_attribute :primary_id, :PrimaryID
    alias_attribute :properties, :Properties

    before_create :set_defaults

    private
      def set_defaults
        self.crud_class = associated.class.table_name
        self.primary_id = associated_id
        self.properties = associated.attributes.to_json
      end
  end
end
