Class: RSpec::Matchers::BuiltIn::Exist Private

Inherits:
BaseMatcher show all
Defined in:
lib/rspec/matchers/built_in/exist.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 exist. Not intended to be instantiated directly.

Defined Under Namespace

Classes: ExistenceTest

Constant Summary

Constants inherited from BaseMatcher

BaseMatcher::UNDEFINED

Instance Method Summary collapse

Methods inherited from BaseMatcher

#description, #diffable?, #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(*expected) ⇒ Exist

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 Exist.

8
9
10
# File 'lib/rspec/matchers/built_in/exist.rb', line 8
def initialize(*expected)
  @expected = expected
end

Instance Method Details

#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)
22
23
24
25
26
# File 'lib/rspec/matchers/built_in/exist.rb', line 22
def does_not_match?(actual)
  @actual = actual
  @test = ExistenceTest.new @actual, @expected
  @test.valid_test? && !@test.actual_exists?
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)
30
31
32
# File 'lib/rspec/matchers/built_in/exist.rb', line 30
def failure_message
  "expected #{actual_formatted} to exist#{@test.validity_message}"
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)
36
37
38
# File 'lib/rspec/matchers/built_in/exist.rb', line 36
def failure_message_when_negated
  "expected #{actual_formatted} not to exist#{@test.validity_message}"
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)
14
15
16
17
18
# File 'lib/rspec/matchers/built_in/exist.rb', line 14
def matches?(actual)
  @actual = actual
  @test = ExistenceTest.new @actual, @expected
  @test.valid_test? && @test.actual_exists?
end