@api private Provides the implementation for `has_<predicate>`. Not intended to be instantiated directly.
# File lib/rspec/matchers/built_in/has.rb, line 8 def initialize(method_name, *args, &block) @method_name, @args, @block = method_name, args, block end
@api private @return [String]
# File lib/rspec/matchers/built_in/has.rb, line 40 def description [method_description, args_description].compact.join(' ') end
@private
# File lib/rspec/matchers/built_in/has.rb, line 20 def does_not_match?(actual, &block) @actual = actual @block ||= block predicate_accessible? && !predicate_matches? end
@api private @return [String]
# File lib/rspec/matchers/built_in/has.rb, line 28 def failure_message validity_message || "expected ##{predicate}#{failure_message_args_description} to return true, got false" end
@api private @return [String]
# File lib/rspec/matchers/built_in/has.rb, line 34 def failure_message_when_negated validity_message || "expected ##{predicate}#{failure_message_args_description} to return false, got true" end
@private
# File lib/rspec/matchers/built_in/has.rb, line 13 def matches?(actual, &block) @actual = actual @block ||= block predicate_accessible? && predicate_matches? end