class AdLint::Validation::FilePresenceValidator

Public Class Methods

new(attr_name, allow_nil) click to toggle source
Calls superclass method AdLint::Validation::Validator::new
# File lib/adlint/util.rb, line 262
def initialize(attr_name, allow_nil)
  super(attr_name)
  @allow_nil = allow_nil
end

Public Instance Methods

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

  unless val
    if @allow_nil
      return true
    else
      @errors.push("`#{qualified_attr_name(attr_owner)}' " +
                   "is not specified.")
      return false
    end
  end

  unless File.exist?(val) && File.file?(val)
    @errors.push("`#{qualified_attr_name(attr_owner)}' " +
                 "is non-existent pathname (#{val.to_s}).")
    return false
  end
  true
end