Class: AppMap::Trace::RubyMethod

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/appmap/trace.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package, class_name, method, static) ⇒ RubyMethod

Returns a new instance of RubyMethod.



10
11
12
13
14
15
16
17
# File 'lib/appmap/trace.rb', line 10

def initialize(package, class_name, method, static)
  super(method)

  @package = package
  @class_name = class_name
  @method = method
  @static = static
end

Instance Attribute Details

#class_nameObject (readonly)

Returns the value of attribute class_name.



8
9
10
# File 'lib/appmap/trace.rb', line 8

def class_name
  @class_name
end

#staticObject (readonly)

Returns the value of attribute static.



8
9
10
# File 'lib/appmap/trace.rb', line 8

def static
  @static
end

Instance Method Details

#commentObject



23
24
25
26
27
28
29
30
# File 'lib/appmap/trace.rb', line 23

def comment
  return nil if source_location.nil? || source_location.first.start_with?('<')

  # Do not use method_source's comment method because it's slow
  @comment ||= RubyMethod.last_comment *source_location
rescue Errno::EINVAL, Errno::ENOENT
  nil
end

#labelsObject



40
41
42
# File 'lib/appmap/trace.rb', line 40

def labels
  @package.labels
end

#nameObject



36
37
38
# File 'lib/appmap/trace.rb', line 36

def name
  @method.name
end

#packageObject



32
33
34
# File 'lib/appmap/trace.rb', line 32

def package
  @package.name
end

#source_locationObject



19
20
21
# File 'lib/appmap/trace.rb', line 19

def source_location
  @method.source_location
end