Class: RBlade::StackManager

Inherits:
Object
  • Object
show all
Defined in:
lib/rblade/helpers/stack_manager.rb

Defined Under Namespace

Classes: Stack

Instance Method Summary collapse

Constructor Details

#initializeStackManager

Returns a new instance of StackManager.



5
6
7
# File 'lib/rblade/helpers/stack_manager.rb', line 5

def initialize
  @stacks = {}
end

Instance Method Details

#clearObject



15
16
17
# File 'lib/rblade/helpers/stack_manager.rb', line 15

def clear
  @stacks = {}
end

#get(stacks) ⇒ Object



29
30
31
32
33
# File 'lib/rblade/helpers/stack_manager.rb', line 29

def get(stacks)
  stacks.map do |name|
    @stacks.delete(name).to_s
  end.join
end

#initialize_stack(stack_name, output_buffer) ⇒ Object



9
10
11
12
13
# File 'lib/rblade/helpers/stack_manager.rb', line 9

def initialize_stack(stack_name, output_buffer)
  @stacks[stack_name] ||= Stack.new
  @stacks[stack_name].set_before_stack(-output_buffer.raw_buffer)
  output_buffer.raw_buffer.clear
end

#prepend(stack_name, output_buffer) ⇒ Object



24
25
26
27
# File 'lib/rblade/helpers/stack_manager.rb', line 24

def prepend(stack_name, output_buffer, &)
  @stacks[stack_name] ||= Stack.new
  @stacks[stack_name].prepend output_buffer.capture(&)
end

#push(stack_name, output_buffer) ⇒ Object



19
20
21
22
# File 'lib/rblade/helpers/stack_manager.rb', line 19

def push(stack_name, output_buffer, &)
  @stacks[stack_name] ||= Stack.new
  @stacks[stack_name].push output_buffer.capture(&)
end