stages 0.2.9 → 0.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/VERSION +1 -1
  2. data/lib/stages/wrap.rb +18 -5
  3. data/stages.gemspec +1 -1
  4. metadata +2 -2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.9
1
+ 0.2.10
@@ -1,11 +1,11 @@
1
1
  module Stages
2
- class Wrap < Stage
2
+ class Wrap < Stage
3
3
  def initialize(pipeline, *args)
4
4
  @pipeline = pipeline
5
5
  @output_style = :hash
6
6
  unless args.empty?
7
7
  if args.include? :array
8
- @output_style = :array
8
+ @output_style = :array
9
9
  elsif args.include? :each
10
10
  @output_style = :each
11
11
  end
@@ -13,20 +13,33 @@ module Stages
13
13
  end
14
14
  super()
15
15
  end
16
-
16
+
17
+ def reset
18
+ initialize_loop
19
+ @pipeline.reset!
20
+ @source.reset if @source
21
+ end
22
+
23
+ def reset!
24
+ initialize_loop
25
+ @pipeline.reset!
26
+ @source.reset! if @source
27
+ end
28
+
17
29
  def process
18
30
  while value = input
19
31
  subpipe = Emit.new(value) | @pipeline
20
32
  results = []
21
33
  while v = subpipe.run
22
34
  @output_style == :each ? output(v) : results << v
23
- end
35
+ end
24
36
  results = results.first if @aggregated
25
37
  output results if @output_style == :array
26
38
  output({ value => results}) if @output_style == :hash
27
39
  @pipeline.drop_leftmost!
28
40
  @pipeline.reset!
29
41
  end
42
+ @pipeline.reset!
30
43
  end
31
- end
44
+ end
32
45
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "stages"
8
- s.version = "0.2.9"
8
+ s.version = "0.2.10"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["The Justice Eight"]
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: stages
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.9
5
+ version: 0.2.10
6
6
  platform: ruby
7
7
  authors:
8
8
  - The Justice Eight
@@ -73,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- hash: -169923303030114075
76
+ hash: 4574983875197029108
77
77
  segments:
78
78
  - 0
79
79
  version: "0"