class Dry::Monads::Extensions::PrettyPrint::LazyPrintValue
Public Class Methods
Source
# File lib/dry/monads/extensions/pretty_print.rb, line 28 def initialize(constructor, success_prefix: "value=", error_prefix: "error=") super() define_method(:pretty_print) do |pp| if promise.fulfilled? value = promise.value if Unit.equal?(value) if success_prefix.empty? pp.text "#{constructor}()" else pp.text "#{constructor}(#{success_prefix}())" end else pp.text "#{constructor}(#{success_prefix}" pp.group(1) do pp.breakable("") pp.pp(value) end pp.text ")" end elsif promise.rejected? pp.text "#{constructor}(#{error_prefix}#{promise.reason.inspect})" else pp.text "#{constructor}(?)" end end end
Calls superclass method