Class: Trailblazer::Activity::Trace::Stack

Inherits:
Object
  • Object
show all
Defined in:
lib/trailblazer/activity/trace.rb

Overview

Mutable/stateful per design. We want a (global) stack!

Instance Method Summary collapse

Constructor Details

#initializeStack

Returns a new instance of Stack.



114
115
116
117
# File 'lib/trailblazer/activity/trace.rb', line 114

def initialize
  @nested  = Level.new
  @stack   = [ @nested ]
end

Instance Method Details

#<<(args) ⇒ Object



128
129
130
# File 'lib/trailblazer/activity/trace.rb', line 128

def <<(args)
  current << args
end

#indent!Object



119
120
121
122
# File 'lib/trailblazer/activity/trace.rb', line 119

def indent!
  current << indented = Level.new
  @stack << indented
end

#to_aObject



132
133
134
# File 'lib/trailblazer/activity/trace.rb', line 132

def to_a
  @nested
end

#unindent!Object



124
125
126
# File 'lib/trailblazer/activity/trace.rb', line 124

def unindent!
  @stack.pop
end