class RSpec::Matchers::BuiltIn::HaveAttributes
@api private Provides the implementation for ‘have_attributes`. Not intended to be instantiated directly.
Attributes
@private
Public Class Methods
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 11 def initialize(expected) @expected = expected @values = {} @respond_to_failed = false @negated = false end
Public Instance Methods
@private
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 19 def actual @values end
@api private @return [String]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 43 def description described_items = surface_descriptions_in(expected) improve_hash_formatting "have attributes #{RSpec::Support::ObjectFormatter.format(described_items)}" end
@api private @return [Boolean]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 50 def diffable? !@respond_to_failed && !@negated end
@api private @return [Boolean]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 34 def does_not_match?(actual) @actual = actual @negated = true return false unless respond_to_attributes? perform_match(:none?) end
@api private @return [String]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 56 def failure_message respond_to_failure_message_or do "expected #{actual_formatted} to #{description} but had attributes #{ formatted_values }" end end
@api private @return [String]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 64 def failure_message_when_negated respond_to_failure_message_or { "expected #{actual_formatted} not to #{description}" } end
@api private @return [Boolean]
# File rspec-expectations/lib/rspec/matchers/built_in/have_attributes.rb, line 25 def matches?(actual) @actual = actual @negated = false return false unless respond_to_attributes? perform_match(:all?) end