class Spec::Matchers::Include

:nodoc:

def _message(maybe_not="")

def _message(maybe_not="")
  "expected #{@actual.inspect} #{maybe_not}to include #{_pretty_print(@expecteds)}"
end

def _pretty_print(array)

def _pretty_print(array)
  result = ""
  array.each_with_index do |item, index|
    if index < (array.length - 2)
      result << "#{item.inspect}, "
    elsif index < (array.length - 1)
      result << "#{item.inspect} and "
    else
      result << "#{item.inspect}"
    end
  end
  result
end

def description

def description
  "include #{_pretty_print(@expecteds)}"
end

def failure_message

def failure_message
  _message
end

def initialize(*expecteds)

def initialize(*expecteds)
  @expecteds = expecteds
end

def matches?(actual)

def matches?(actual)
  @actual = actual
  @expecteds.each do |expected|
    return false unless actual.include?(expected)
  end
  true
end

def negative_failure_message

def negative_failure_message
  _message("not ")
end