Method: MatrixSdk::Extensions#ignore_inspect

Defined in:
lib/matrix_sdk/extensions.rb

#ignore_inspect(*symbols) ⇒ Object



67
68
69
70
71
72
73
74
75
76
# File 'lib/matrix_sdk/extensions.rb', line 67

def ignore_inspect(*symbols)
  class_eval %*
    def inspect
      reentrant = caller_locations.any? { |l| l.absolute_path == __FILE__ && l.label == 'inspect' }
      "\#{to_s[0..-2]} \#{instance_variables
        .reject { |f| %i[#{symbols.map { |s| "@#{s}" }.join ' '}].include? f }
        .map { |f| "\#{f}=\#{reentrant ? instance_variable_get(f) : instance_variable_get(f).inspect}" }.join " " }}>"
    end
  *, __FILE__, __LINE__ - 7
end