class PowerAssert::SafeInspectable

Public Class Methods

new(value) click to toggle source
# File lib/power_assert/inspector.rb, line 16
def initialize(value)
  @value = value
end

Public Instance Methods

inspect() click to toggle source
# File lib/power_assert/inspector.rb, line 20
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