Class: SolidLoop::Pipeline::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_loop/pipeline/builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(middlewares = []) ⇒ Builder

Returns a new instance of Builder.



6
7
8
# File 'lib/solid_loop/pipeline/builder.rb', line 6

def initialize(middlewares = [])
  @middlewares = middlewares.dup
end

Instance Attribute Details

#middlewaresObject (readonly)

Returns the value of attribute middlewares.



4
5
6
# File 'lib/solid_loop/pipeline/builder.rb', line 4

def middlewares
  @middlewares
end

Instance Method Details

#delete(target) ⇒ Object



33
34
35
# File 'lib/solid_loop/pipeline/builder.rb', line 33

def delete(target)
  @middlewares.delete(target)
end

#insert_after(target, middleware) ⇒ Object



19
20
21
22
# File 'lib/solid_loop/pipeline/builder.rb', line 19

def insert_after(target, middleware)
  index = @middlewares.index(target) || @middlewares.size - 1
  @middlewares.insert(index + 1, middleware)
end

#insert_before(target, middleware) ⇒ Object



14
15
16
17
# File 'lib/solid_loop/pipeline/builder.rb', line 14

def insert_before(target, middleware)
  index = @middlewares.index(target) || 0
  @middlewares.insert(index, middleware)
end

#replace(target, middleware) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/solid_loop/pipeline/builder.rb', line 24

def replace(target, middleware)
  index = @middlewares.index(target)
  if index
    @middlewares[index] = middleware
  else
    @middlewares << middleware
  end
end

#use(middleware) ⇒ Object



10
11
12
# File 'lib/solid_loop/pipeline/builder.rb', line 10

def use(middleware)
  @middlewares << middleware
end