18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/solid_use_case/rspec_matchers.rb', line 18
def failure_message
"expected result to be a success\n" +
if @result.value.is_a? SolidUseCase::Either::ErrorStruct
"Error & Data:\n #{@result.value.type} - #{@result.value.inspect}"
elsif @result.value.is_a? Exception
backtrace = @result.value.backtrace.reject do |file|
file =~ %r{deterministic/either/attempt_all.rb|deterministic/core_ext/either.rb}
end.take_while do |file|
file.match(%r{rspec-core-[^/]+/lib/rspec/core/example\.rb}).nil?
end
"Raised Error:\n #{@result.value.message}\n\t#{backtrace.join "\n\t"}"
else
"Error: #{@result.value.inspect}"
end
end
|