class AdLint::Validation::ExamPackagesPresenceValidator

Public Instance Methods

execute(attr_owner) click to toggle source
# File lib/adlint/util.rb, line 375
def execute(attr_owner)
  val = target_value(attr_owner)

  if val.empty?
    @errors.push("`#{qualified_attr_name(attr_owner)}' " +
                 "is not specified.")
    return false
  end

  bad_exams = val.reject { |exam_pkg| exam_pkg.load }

  unless bad_exams.empty?
    bad_exams.each do |exam_pkg|
      @errors.push("`#{qualified_attr_name(attr_owner)}' " +
                   "contains non-existent exam-package name " +
                   "(#{exam_pkg.name}).")
    end
    return false
  end
  true
end