module Cabin

Public Class Methods

__Inspectable(*ivars) click to toggle source
# File lib/cabin/inspectable.rb, line 39
def self.__Inspectable(*ivars)
  mod = Module.new
  mod.instance_eval do
    define_method(:inspect) do
      ivars = instance_variables if ivars.empty?
      str = "<#{self.class.name}(@#{self.object_id}) "
      ivars.each do |ivar|
        str << "#{ivar}=#{instance_variable_get(ivar).inspect} "
      end
      str << ">"
      return str
    end
  end
  return mod
end