class RSpec::Matchers::BuiltIn::Satisfy
@api private Provides the implementation for ‘satisfy`. Not intended to be instantiated directly.
Public Class Methods
new(description=nil, &block)
click to toggle source
# File lib/rspec/matchers/built_in/satisfy.rb, line 8 def initialize(description=nil, &block) @description = description @block = block end
Public Instance Methods
description()
click to toggle source
@private
# File lib/rspec/matchers/built_in/satisfy.rb, line 21 def description @description ||= "satisfy #{block_representation}" end
failure_message()
click to toggle source
@api private @return [String]
# File lib/rspec/matchers/built_in/satisfy.rb, line 27 def failure_message "expected #{actual_formatted} to #{description}" end
failure_message_when_negated()
click to toggle source
@api private @return [String]
# File lib/rspec/matchers/built_in/satisfy.rb, line 33 def failure_message_when_negated "expected #{actual_formatted} not to #{description}" end
matches?(actual, &block)
click to toggle source
@private
# File lib/rspec/matchers/built_in/satisfy.rb, line 14 def matches?(actual, &block) @block = block if block @actual = actual @block.call(actual) end
Private Instance Methods
block_representation()
click to toggle source
# File lib/rspec/matchers/built_in/satisfy.rb, line 40 def block_representation if (block_snippet = extract_block_snippet) "expression `#{block_snippet}`" else 'block' end end
extract_block_snippet()
click to toggle source
# File lib/rspec/matchers/built_in/satisfy.rb, line 48 def extract_block_snippet return nil unless @block Expectations::BlockSnippetExtractor.try_extracting_single_line_body_of(@block, matcher_name) end