Sha256: ccd35ec55622c3e727725b15ec97b2140370cc0a2cc770aab454d900e5b7c112
Contents?: true
Size: 698 Bytes
Versions: 1
Compression:
Stored size: 698 Bytes
Contents
require 'rspec/expectations' RSpec::Matchers.define :have_attributes do |expected| match do |actual| result = true expected.each do |key, value| result = false unless actual.send(key) == value end result end failure_message do |actual| wrong_fields = {} expected.each do |key, value| wrong_fields[key] = { actual: actual.send(key), expected: value } unless actual.send(key) == value end wrong_fields.inject("In #{actual.class.name} ") do |message, wrong_field| key, value = wrong_field message << "expected that #{key} would be #{value[:expected]}, but was #{value[:actual]}\n" message end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sandi_meter-1.2.0 | spec/support/attr_matcher.rb |