class Derketo::Event

Attributes

class_name[RW]
method_id[RW]
next[RW]
parameters[RW]
previous[RW]
return_value[RW]
type[RW]

Public Class Methods

new(tracepoint) click to toggle source
# File lib/derketo/events/event.rb, line 8
def initialize(tracepoint)
  @class_name = clean(tracepoint.defined_class.to_s)
  @return_value = tracepoint.event == :return ? clean(tracepoint.return_value.to_s) : nil
  @type = tracepoint.event
  @method_id = clean(tracepoint.method_id.to_s)
  @parameters = tracepoint.self.method(tracepoint.method_id).parameters
  @previous = self
end

Public Instance Methods

to_h() click to toggle source
# File lib/derketo/events/event.rb, line 17
def to_h
  {
    class: @class_name,
    type: @type,
    method: @method_id,
    parameters: @parameters,
    return_value: @return_value
  }
end
to_json() click to toggle source

{

"class": "Mermaid",
"type": "call",
"method": "initialize",
"parameters": [],
"return_value": null

}

# File lib/derketo/events/event.rb, line 34
def to_json
  JSON.generate(to_h)
end
to_s() click to toggle source

{

:class=>"Mermaid",
:type=>:call,
:method=>:initialize,
:parameters=>[],
:return_value=>nil

}

# File lib/derketo/events/event.rb, line 45
def to_s
  to_h.to_s
end