Sha256: 71e3a80465a1282b56d030d83cb839197032d968dc3aa57f5e4084f557b16edf
Contents?: true
Size: 916 Bytes
Versions: 1
Compression:
Stored size: 916 Bytes
Contents
module Metaractor module FailureOutput def self.format_hash(hash) if @hash_formatter.nil? @hash_formatter = ->(hash){ hash.inspect } end @hash_formatter.call(hash) end def self.hash_formatter=(callable) @hash_formatter = callable end def to_s str = '' if !context.errors.empty? str << "Errors:\n" str << Metaractor::FailureOutput.format_hash(context.errors.to_h) str << "\n\n" end if !context._called.empty? str << "Previously Called:\n" context._called.each do |interactor| str << interactor.class.name.to_s str << "\n" end str << "\n" end str << "Context:\n" str << Metaractor::FailureOutput.format_hash(context.to_h.reject{|k,_| k == :errors}) str end end end Interactor::Failure.send(:include, Metaractor::FailureOutput)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
metaractor-2.1.1 | lib/metaractor/failure_output.rb |