Sha256: 40f5f6aadfa028b678b7d90858f90044e80a002073e49fa357eeea1b2468ef8b

Contents?: true

Size: 434 Bytes

Versions: 6

Compression:

Stored size: 434 Bytes

Contents

# Overrides inspect to exclude given attributes
#
# usage: `include InspectExcept.new(:@foo, :@bar)
class Quby::InspectExcept < Module
  def initialize(*excepts)
    define_method :inspect do
      prefix = "#<#{self.class}:0x#{self.__id__.to_s(16)}"

      parts = (instance_variables - excepts).map do |var|
        "#{var}=#{instance_variable_get(var).inspect}"
      end
      "#{prefix}\n #{parts.join(", ")}>"
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
quby-5.6.7 lib/quby/inspect_except.rb
quby-5.6.6 lib/quby/inspect_except.rb
quby-5.6.5 lib/quby/inspect_except.rb
quby-5.6.3 lib/quby/inspect_except.rb
quby-5.6.2 lib/quby/inspect_except.rb
quby-5.6.1 lib/quby/inspect_except.rb