class RSpec::Matchers::BuiltIn::Satisfy

@api private Provides the implementation for ‘satisfy`. Not intended to be instantiated directly.

Public Class Methods

# File rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb, line 8
def initialize(description=nil, &block)
  @description = description
  @block = block
end

Public Instance Methods

@private

# File rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb, line 21
def description
  @description ||= "satisfy #{block_representation}"
end

@api private @return [String]

# File rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb, line 27
def failure_message
  "expected #{actual_formatted} to #{description}"
end

@api private @return [String]

# File rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb, line 33
def failure_message_when_negated
  "expected #{actual_formatted} not to #{description}"
end

@private

# File rspec-expectations/lib/rspec/matchers/built_in/satisfy.rb, line 14
def matches?(actual, &block)
  @block = block if block
  @actual = actual
  @block.call(actual)
end