Class: Datapipes

Inherits:
Object
  • Object
show all
Defined in:
lib/datapipes.rb,
lib/datapipes/pipe.rb,
lib/datapipes/sink.rb,
lib/datapipes/tube.rb,
lib/datapipes/source.rb,
lib/datapipes/version.rb,
lib/datapipes/composable.rb,
lib/datapipes/basics/list.rb,
lib/datapipes/basics/print.rb,
lib/datapipes/basics/triple.rb

Defined Under Namespace

Modules: Basics, Composable Classes: Pipe, Sink, Source, Tube

Constant Summary collapse

VERSION =
"0.0.1"

Instance Method Summary collapse

Constructor Details

#initialize(source, tube, sink, pipe) ⇒ Datapipes

Returns a new instance of Datapipes.



11
12
13
14
15
16
17
18
19
# File 'lib/datapipes.rb', line 11

def initialize(source, tube, sink, pipe)
  @source = source
  @tube = tube
  @sink = sink
  @pipe = pipe

  Thread.abort_on_exception = true
  @flag = Queue.new
end

Instance Method Details

#run_resourceObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/datapipes.rb', line 21

def run_resource
  @source.pipe = @pipe
  runners = @source.run_all

  consumer = run_comsumer
  runners.each(&:join)

  notify_resource_ending
  consumer.join if consumer.status == "run"
end