class Shoulda::Matchers::ActiveModel::ValidatePresenceOfMatcher

:nodoc:

def blank_value

def blank_value
  if collection?
    []
  else
    nil
  end
end

def collection?

def collection?
  if reflection
    [:has_many, :has_and_belongs_to_many].include?(reflection.macro)
  else
    false
  end
end

def description

def description
  "require #{@attribute} to be set"
end

def matches?(subject)

def matches?(subject)
  super(subject)
  @expected_message ||= :blank
  disallows_value_of(blank_value, @expected_message)
end

def reflection

def reflection
  @subject.class.respond_to?(:reflect_on_association) &&
    @subject.class.reflect_on_association(@attribute)
end

def with_message(message)

def with_message(message)
  @expected_message = message if message
  self
end