@api private Provides the implementation for `include_an_object`. Not intended to be instantiated directly.
@private
@private
@private
# File lib/aruba/matchers/collection/include_an_object.rb, line 20 def initialize(matcher) @matcher = matcher @failed_objects = {} @any_succeeded_object = false end
@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
# 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
@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