@api private Provides the implementation for `yield_with_args`. Not intended to be instantiated directly.
@private
# File lib/rspec/matchers/built_in/yield.rb, line 300 def description desc = 'yield with args' desc << "(#{expected_arg_description})" unless @expected.empty? desc end
@private
# File lib/rspec/matchers/built_in/yield.rb, line 285 def does_not_match?(block) !matches?(block) && @probe.has_block? end
@private
# File lib/rspec/matchers/built_in/yield.rb, line 290 def failure_message "expected given block to yield with arguments, but #{positive_failure_reason}" end
@private
# File lib/rspec/matchers/built_in/yield.rb, line 295 def failure_message_when_negated "expected given block not to yield with arguments, but #{negative_failure_reason}" end
@private
# File lib/rspec/matchers/built_in/yield.rb, line 272 def matches?(block) @args_matched_when_yielded = true @probe = YieldProbe.new(block) do @actual = @probe.single_yield_args @actual_formatted = actual_formatted @args_matched_when_yielded &&= args_currently_match? end return false unless @probe.has_block? @probe.probe @probe.yielded_once?(:yield_with_args) && @args_matched_when_yielded end
@private
# File lib/rspec/matchers/built_in/yield.rb, line 307 def supports_block_expectations? true end
# File lib/rspec/matchers/built_in/yield.rb, line 267 def initialize(*args) @expected = args end