Sha256: fb5c801f45df9917dc28d142721e00e570371daa4012c35c9bdf07f9459618bd
Contents?: true
Size: 1.41 KB
Versions: 34
Compression:
Stored size: 1.41 KB
Contents
require 'power_assert/configuration' module PowerAssert class InspectedValue def initialize(value) @value = value end def inspect @value end end private_constant :InspectedValue class SafeInspectable def initialize(value) @value = value end def inspect inspected = @value.inspect if Encoding.compatible?(Encoding.default_external, inspected) inspected else begin "#{inspected.encode(Encoding.default_external)}(#{inspected.encoding})" rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError inspected.force_encoding(Encoding.default_external) end end rescue => e "InspectionFailure: #{e.class}: #{e.message.each_line.first}" end end private_constant :SafeInspectable class Formatter def initialize(value, indent) @value = value @indent = indent end def inspect if PowerAssert.configuration._colorize_message if PowerAssert.configuration._use_pp width = [Pry::Terminal.width! - 1 - @indent, 10].max Pry::ColorPrinter.pp(@value, '', width) else Pry::Code.new(@value.inspect).highlighted end else if PowerAssert.configuration._use_pp PP.pp(@value, '') else @value.inspect end end end end private_constant :Formatter end
Version data entries
34 entries across 28 versions & 4 rubygems