class Aruba::Matchers::IncludeAnObject

@api private Provides the implementation for `include_an_object`. Not intended to be instantiated directly.

Attributes

any_succeeded_object[RW]

@private

failed_objects[R]

@private

matcher[R]

@private

Public Class Methods

new(matcher) click to toggle source
# File lib/aruba/matchers/collection/include_an_object.rb, line 20
def initialize(matcher)
  @matcher              = matcher
  @failed_objects       = {}
  @any_succeeded_object = false
end

Public Instance Methods

description() click to toggle source

@api private @return [String]

# File lib/aruba/matchers/collection/include_an_object.rb, line 42
def description
  improve_hash_formatting "include an object #{description_of matcher}"
end
does_not_match?(actual) click to toggle source
# File lib/aruba/matchers/collection/include_an_object.rb, line 46
def does_not_match?(actual)
  @actual = actual

  return false unless iterable?

  index_objects

  any_succeeded_object == false
end
failure_message() click to toggle source

@api private @return [String]

# File lib/aruba/matchers/collection/include_an_object.rb, line 28
def failure_message
  unless iterable?
    return "#{improve_hash_formatting(super)}, but was not iterable"
  end

  all_messages = [improve_hash_formatting(super)]
  failed_objects.each do |index, matcher_failure_message|
    all_messages << failure_message_for_item(index, matcher_failure_message)
  end
  all_messages.join("\n\n")
end