Sha256: 762fd8098114f09f014ba424a391cd596051ee271544adbed2a44a347e7b0b57

Contents?: true

Size: 500 Bytes

Versions: 15

Compression:

Stored size: 500 Bytes

Contents

module Ludy
  # TRACE_EVENT   = 0
  # TRACE_FILE    = 1
  # TRACE_LINE    = 2
  # TRACE_MSG     = 3
  # TRACE_BINDING = 4
  # TRACE_CLASS   = 5

  def callstack levels = -1
    st = Thread.current[:callstack]
    if levels then st && st[levels - 2] else st end
  end
  module_function :callstack
end # of Ludy

set_trace_func lambda{ |*args|
  case args[0]
    when /call$/
      (Thread.current[:callstack] ||= []).push args
    when /return$/
      (Thread.current[:callstack] ||= []).pop
  end
}

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
godfat-ludy-0.1.13 lib/ludy/deprecated/callstack.rb
ludy-0.1.15 lib/ludy/deprecated/callstack.rb
ludy-0.1.1 lib/ludy/deprecated/callstack.rb
ludy-0.1.10 lib/ludy/deprecated/callstack.rb
ludy-0.1.11 lib/ludy/deprecated/callstack.rb
ludy-0.1.13 lib/ludy/deprecated/callstack.rb
ludy-0.1.0 lib/ludy/deprecated/callstack.rb
ludy-0.1.2 lib/ludy/deprecated/callstack.rb
ludy-0.1.4 lib/ludy/deprecated/callstack.rb
ludy-0.1.3 lib/ludy/deprecated/callstack.rb
ludy-0.1.5 lib/ludy/deprecated/callstack.rb
ludy-0.1.6 lib/ludy/deprecated/callstack.rb
ludy-0.1.7 lib/ludy/deprecated/callstack.rb
ludy-0.1.8 lib/ludy/deprecated/callstack.rb
ludy-0.1.9 lib/ludy/deprecated/callstack.rb