Class: Quby::InspectExcept

Inherits:
Module
  • Object
show all
Defined in:
lib/quby/inspect_except.rb

Overview

Overrides inspect to exclude given attributes

usage: ‘include InspectExcept.new(:@foo, :@bar)

Instance Method Summary collapse

Constructor Details

#initialize(*excepts) ⇒ InspectExcept

Returns a new instance of InspectExcept.



5
6
7
8
9
10
11
12
13
14
# File 'lib/quby/inspect_except.rb', line 5

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