Module: CodeMetrics::RequireProfiler
- Defined in:
- lib/code_metrics/profiler.rb
Class Attribute Summary collapse
-
.depth ⇒ Object
Returns the value of attribute depth.
-
.stats ⇒ Object
Returns the value of attribute stats.
Class Method Summary collapse
Class Attribute Details
.depth ⇒ Object
Returns the value of attribute depth.
76 77 78 |
# File 'lib/code_metrics/profiler.rb', line 76 def depth @depth end |
.stats ⇒ Object
Returns the value of attribute stats.
77 78 79 |
# File 'lib/code_metrics/profiler.rb', line 77 def stats @stats end |
Class Method Details
.profile(file) ⇒ Object
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/code_metrics/profiler.rb', line 79 def profile(file) stats << [file, depth] self.depth += 1 result = nil elapsed = Benchmark.realtime { result = yield } self.depth -= 1 stats.pop if stats.last.first == file stats << [file, depth, elapsed] if result result end |