Method: NewRelic::Agent::MethodTracer::ClassMethods::AddMethodTracer#_nr_derived_class_name

Defined in:
lib/new_relic/agent/method_tracer.rb

#_nr_derived_class_nameObject



173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/new_relic/agent/method_tracer.rb', line 173

def _nr_derived_class_name
  return self.name if self.name && !self.name.empty?
  return 'AnonymousModule' if self.to_s.start_with?('#<Module:')

  # trying to get the "MyClass" portion of "#<Class:MyClass>"
  name = self.to_s[/^#<Class:(.+)>$/, 1]
  if name.start_with?('0x')
    'AnonymousClass'
  elsif name.start_with?('#<Class:')
    'AnonymousClass/Class'
  else
    "#{name}/Class"
  end
end