class PowerAssert::SafeInspectable - power_assert: Ruby Standard Library Documentation

# class PowerAssert::SafeInspectable

### Public Class Methods

new(value) click to toggle source

    # File power_assert-2.0.5/lib/power_assert/inspector.rb, line 20
    def initialize(value)
      @value = value
    end

### Public Instance Methods

inspect() click to toggle source

    # File power_assert-2.0.5/lib/power_assert/inspector.rb, line 24
    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