class RSpec::Matchers::BuiltIn::YieldWithArgs
@api private Provides the implementation for ‘yield_with_args`. Not intended to be instantiated directly.
Public Class Methods
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 200 def initialize(*args) @expected = args end
Public Instance Methods
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 233 def description desc = 'yield with args' desc = "#{desc}(#{expected_arg_description})" unless @expected.empty? desc end
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 218 def does_not_match?(block) !matches?(block) && @probe.has_block? end
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 223 def failure_message "expected given block to yield with arguments, but #{positive_failure_reason}" end
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 228 def failure_message_when_negated "expected given block not to yield with arguments, but #{negative_failure_reason}" end
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 205 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 rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 240 def supports_block_expectations? true end
@private
# File rspec-expectations/lib/rspec/matchers/built_in/yield.rb, line 245 def supports_value_expectations? false end