Class: RSpec::Matchers::BuiltIn::Include Private

Inherits:
BaseMatcher show all
Defined in:
lib/rspec/matchers/built_in/include.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Provides the implementation for include. Not intended to be instantiated directly.

Constant Summary

Constants inherited from BaseMatcher

BaseMatcher::UNDEFINED

Instance Method Summary collapse

Methods inherited from BaseMatcher

#expects_call_stack_jump?, #match_unless_raises, #supports_block_expectations?

Methods included from Composable

#===, #and, #description_of, #or, should_enumerate?, surface_descriptions_in, unreadable_io?, #values_match?

Constructor Details

#initialize(*expecteds) ⇒ Include

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Include.

11
12
13
# File 'lib/rspec/matchers/built_in/include.rb', line 11
def initialize(*expecteds)
  @expecteds = expecteds
end

Instance Method Details

#descriptionString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
31
32
33
# File 'lib/rspec/matchers/built_in/include.rb', line 31
def description
  improve_hash_formatting("include#{readable_list_of(expecteds)}")
end

#diffable?Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)
49
50
51
# File 'lib/rspec/matchers/built_in/include.rb', line 49
def diffable?
  !diff_would_wrongly_highlight_matched_item?
end

#does_not_match?(actual) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)
24
25
26
27
# File 'lib/rspec/matchers/built_in/include.rb', line 24
def does_not_match?(actual)
  actual = actual.to_hash if convert_to_hash?(actual)
  perform_match(actual) { |v| !v }
end

#expectedArray, Hash

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Array, Hash)
55
56
57
58
59
60
61
# File 'lib/rspec/matchers/built_in/include.rb', line 55
def expected
  if expecteds.one? && Hash === expecteds.first
    expecteds.first
  else
    expecteds
  end
end

#failure_messageString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
37
38
39
# File 'lib/rspec/matchers/built_in/include.rb', line 37
def failure_message
  format_failure_message("to") { super }
end

#failure_message_when_negatedString

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (String)
43
44
45
# File 'lib/rspec/matchers/built_in/include.rb', line 43
def failure_message_when_negated
  format_failure_message("not to") { super }
end

#matches?(actual) ⇒ Boolean

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns:

  • (Boolean)
17
18
19
20
# File 'lib/rspec/matchers/built_in/include.rb', line 17
def matches?(actual)
  actual = actual.to_hash if convert_to_hash?(actual)
  perform_match(actual) { |v| v }
end