Class: RSpec::Matchers::BuiltIn::Compound Private

Inherits:
BaseMatcher
  • Object
show all
Defined in:
lib/rspec/matchers/built_in/compound.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.

Base class for and and or compound matchers.

Direct Known Subclasses

And, Or

Defined Under Namespace

Classes: And, NestedEvaluator, Or, SequentialEvaluator

Constant Summary

Constant Summary

Constants inherited from BaseMatcher

BaseMatcher::UNDEFINED

Instance Method Summary collapse

Methods inherited from BaseMatcher

#diffable?, #match_unless_raises, #matches?

Methods included from BaseMatcher::DefaultFailureMessages

#failure_message, #failure_message_when_negated

Methods included from Composable

#===, #and, #description_of, enumerable?, #or, surface_descriptions_in, #values_match?

Methods included from Pretty

#name, split_words, #to_sentence, #to_word

Constructor Details

#initialize(matcher_1, matcher_2) ⇒ Compound

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 Compound



10
11
12
13
# File 'lib/rspec/matchers/built_in/compound.rb', line 10

def initialize(matcher_1, matcher_2)
  @matcher_1 = matcher_1
  @matcher_2 = matcher_2
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)


25
26
27
# File 'lib/rspec/matchers/built_in/compound.rb', line 25

def description
  singleline_message(matcher_1.description, matcher_2.description)
end

#expects_call_stack_jump?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)


34
35
36
37
# File 'lib/rspec/matchers/built_in/compound.rb', line 34

def expects_call_stack_jump?
  NestedEvaluator.matcher_expects_call_stack_jump?(matcher_1) ||
  NestedEvaluator.matcher_expects_call_stack_jump?(matcher_2)
end

#supports_block_expectations?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)


29
30
31
32
# File 'lib/rspec/matchers/built_in/compound.rb', line 29

def supports_block_expectations?
  matcher_supports_block_expectations?(matcher_1) &&
  matcher_supports_block_expectations?(matcher_2)
end