Class: Trailblazer::Circuit::Trace::Stack
- Inherits:
-
Object
- Object
- Trailblazer::Circuit::Trace::Stack
- Defined in:
- lib/trailblazer/circuit/trace.rb
Overview
Mutable/stateful per design. We want a (global) stack!
Instance Method Summary collapse
- #<<(args) ⇒ Object
- #indent! ⇒ Object
-
#initialize ⇒ Stack
constructor
A new instance of Stack.
- #to_a ⇒ Object
- #unindent! ⇒ Object
Constructor Details
#initialize ⇒ Stack
Returns a new instance of Stack.
55 56 57 58 |
# File 'lib/trailblazer/circuit/trace.rb', line 55 def initialize @nested = [] @stack = [ @nested ] end |
Instance Method Details
#<<(args) ⇒ Object
69 70 71 |
# File 'lib/trailblazer/circuit/trace.rb', line 69 def <<(args) current << args end |
#indent! ⇒ Object
60 61 62 63 |
# File 'lib/trailblazer/circuit/trace.rb', line 60 def indent! current << indented = [] @stack << indented end |
#to_a ⇒ Object
73 74 75 |
# File 'lib/trailblazer/circuit/trace.rb', line 73 def to_a @nested end |
#unindent! ⇒ Object
65 66 67 |
# File 'lib/trailblazer/circuit/trace.rb', line 65 def unindent! @stack.pop end |