Sha256: 2834df11b25a1f8e858b04faeea6f16a70e446a713e10ed9711905f7d6e3efcf
Contents?: true
Size: 810 Bytes
Versions: 1
Compression:
Stored size: 810 Bytes
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2021-2024, by Samuel Williams. require_relative "wrapper" require_relative "../event/failure" module Console module Output # A wrapper for outputting failure messages, which can include exceptions. class Failure < Wrapper def initialize(output, **options) super(output, **options) end # The exception must be either the last argument or passed as an option. def call(subject = nil, *arguments, exception: nil, **options, &block) if exception.nil? last = arguments.last if last.is_a?(Exception) options[:event] = Event::Failure.for(last) end else options[:event] = Event::Failure.for(exception) end super(subject, *arguments, **options) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
console-1.29.0 | lib/console/output/failure.rb |