Class: WebFunction::Pipeline

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

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Pipeline

Returns a new instance of Pipeline.



3
4
5
6
# File 'lib/web_function/pipeline.rb', line 3

def initialize(url)
  @url = url
  @steps = []
end

Instance Method Details

#add_step(step) ⇒ Object



8
9
10
11
12
# File 'lib/web_function/pipeline.rb', line 8

def add_step(step)
  n = @steps.count
  @steps << step
  Promise.new(self, "$[#{n}]")
end

#execute(returns: "$") ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/web_function/pipeline.rb', line 14

def execute(returns: "$")
  if returns.to_sym == :last
    returns = "$[-1:]"
  end

  Endpoint.invoke(@url, args: {
    steps: @steps,
    returns: returns,
  })
end