cascading.jruby 0.0.7 → 0.0.8

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.
@@ -0,0 +1,61 @@
1
+ #! /usr/bin/env jruby
2
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ require 'cascading'
5
+
6
+ cascade 'group_by' do
7
+ flow 'group_by' do
8
+ source 'input', tap('samples/data/data_group_by.txt')
9
+
10
+ assembly 'input' do
11
+ split 'line', ['id', 'city'], :output => ['id', 'city']
12
+
13
+ branch 'group_by' do
14
+ group_by 'city', :sort_by => 'city' do
15
+ count
16
+ sum 'id', :type => :int
17
+ end
18
+ end
19
+
20
+ branch 'empty_group_by' do
21
+ group_by 'city', :sort_by => 'city' do
22
+ end
23
+ end
24
+
25
+ branch 'blockless_group_by' do
26
+ group_by 'city', :sort_by => 'city'
27
+ end
28
+
29
+ branch 'aggregate_by' do
30
+ group_by 'city' do
31
+ count
32
+ sum 'id', :type => :int
33
+ end
34
+ end
35
+
36
+ # These compile into GroupBy unless we relax Aggregations#can_aggregate?
37
+ # to allow empty Aggregations#aggregate_bys, which does not make sense
38
+ #branch 'empty_aggregate_by' do
39
+ # group_by 'city' do
40
+ # end
41
+ #end
42
+
43
+ #branch 'blockless_aggregate_by' do
44
+ # group_by 'city'
45
+ #end
46
+
47
+ branch 'unique' do
48
+ sub_assembly Java::CascadingPipeAssembly::Unique.new(tail_pipe, fields('city'))
49
+ end
50
+ end
51
+
52
+ sink 'group_by', tap('output/group_by', :sink_mode => :replace)
53
+ sink 'empty_group_by', tap('output/empty_group_by', :sink_mode => :replace)
54
+ sink 'blockless_group_by', tap('output/blockless_group_by', :sink_mode => :replace)
55
+ sink 'aggregate_by', tap('output/aggregate_by', :sink_mode => :replace)
56
+ sink 'empty_aggregate_by', tap('output/empty_aggregate_by', :sink_mode => :replace)
57
+ sink 'blockless_aggregate_by', tap('output/blockless_aggregate_by', :sink_mode => :replace)
58
+ sink 'unique', tap('output/unique', :sink_mode => :replace)
59
+ end
60
+ #end.draw(ARGV[0], local_properties('build/sample'))
61
+ end.complete(local_properties('build/sample'))
@@ -5,7 +5,9 @@ require 'cascading'
5
5
 
6
6
  cascade 'logwordcount' do
7
7
  flow 'logwordcount' do
8
- source 'input', tap('http://www.gutenberg.org/files/20417/20417-8.txt')
8
+ # This works just as well, but will get you blocked by Project Gutenberg
9
+ #source 'input', tap('http://www.gutenberg.org/files/20417/20417-8.txt')
10
+ source 'input', tap('samples/data/gutenberg/the_outline_of_science_vol_1')
9
11
 
10
12
  assembly 'input' do
11
13
  # TODO: create a helper for RegexSplitGenerator
@@ -6,7 +6,8 @@ require 'cascading'
6
6
  cascade 'scorenames' do
7
7
  flow 'scorenames' do
8
8
  # You don't have to curl and cache inputs: tap can fetch via HTTP
9
- source 'input', tap('http://www.census.gov/genealogy/names/dist.all.last')
9
+ #source 'input', tap('http://www.census.gov/genealogy/names/dist.all.last')
10
+ source 'input', tap('samples/data/genealogy/names/dist.all.last')
10
11
 
11
12
  assembly 'input' do
12
13
  split 'line', ['name', 'val1', 'val2', 'id']
@@ -0,0 +1,30 @@
1
+ #! /usr/bin/env jruby
2
+ $: << File.join(File.dirname(__FILE__), '..', 'lib')
3
+
4
+ require 'cascading'
5
+
6
+ cascade 'sub_assembly' do
7
+ flow 'sub_assembly' do
8
+ source 'input', tap('samples/data/data2.txt')
9
+
10
+ assembly 'input' do
11
+ split 'line', ['name', 'score1', 'score2', 'id'], :output => ['name', 'score1', 'score2', 'id']
12
+ assert Java::CascadingOperationAssertion::AssertSizeEquals.new(4)
13
+ sub_assembly Java::CascadingPipeAssembly::Discard.new(tail_pipe, fields('id'))
14
+ assert Java::CascadingOperationAssertion::AssertSizeEquals.new(3)
15
+
16
+ sub_assembly Java::CascadingPipeAssembly::Unique.new(tail_pipe, fields('name'))
17
+ assert Java::CascadingOperationAssertion::AssertSizeEquals.new(3)
18
+
19
+ sub_assembly Java::CascadingPipeAssembly::Retain.new(tail_pipe, fields(['score1', 'score2']))
20
+ assert Java::CascadingOperationAssertion::AssertSizeEquals.new(2)
21
+
22
+ sub_assembly Java::CascadingPipeAssembly::Rename.new(tail_pipe, fields(['score1', 'score2']), fields(['score_a', 'score_b']))
23
+ assert Java::CascadingOperationAssertion::AssertSizeEquals.new(2)
24
+
25
+ debug_scope
26
+ end
27
+
28
+ sink 'input', tap('output/sub_assembly', :sink_mode => :replace)
29
+ end
30
+ end.complete(local_properties('build/sample'))
data/samples/union.rb CHANGED
@@ -5,7 +5,9 @@ require 'cascading'
5
5
 
6
6
  cascade 'union' do
7
7
  flow 'union' do
8
- source 'input', tap('http://www.census.gov/genealogy/names/dist.all.last')
8
+ # You don't have to curl and cache inputs: tap can fetch via HTTP
9
+ #source 'input', tap('http://www.census.gov/genealogy/names/dist.all.last')
10
+ source 'input', tap('samples/data/genealogy/names/dist.all.last')
9
11
 
10
12
  assembly 'input' do
11
13
  split 'line', ['name', 'score1', 'score2', 'id']
data/spec/scope_spec.rb CHANGED
@@ -4,35 +4,11 @@ context Cascading::Scope do
4
4
  it 'should match Cascading fields names from source tap scheme' do
5
5
  test_assembly do
6
6
  # Pass that uses our scope instead of all_fields
7
- operation = Java::CascadingOperation::Identity.new
8
- make_each(Java::CascadingPipe::Each, tail_pipe, scope.values_fields, operation)
9
-
7
+ each scope.values_fields, :function => Java::CascadingOperation::Identity.new
10
8
  check_scope :values_fields => ['offset', 'line']
11
9
  end
12
10
  end
13
11
 
14
- it 'should match Cascading fields names after CoGroup' do
15
- test_join_assembly do
16
- # Pass that uses our scope instead of all_fields
17
- operation = Java::CascadingOperation::Identity.new
18
- make_each(Java::CascadingPipe::Each, tail_pipe, scope.values_fields, operation)
19
-
20
- check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_']
21
- end
22
- end
23
-
24
- it 'should match Cascading fields names after Every' do
25
- test_join_assembly do
26
- sum :mapping => {'x' => 'x_sum'}, :type => :int
27
-
28
- # Pass that uses our grouping fields instead of all_fields
29
- operation = Java::CascadingOperation::Identity.new
30
- make_each(Java::CascadingPipe::Each, tail_pipe, fields(['x', 'x_sum']), operation)
31
-
32
- check_scope :values_fields => ['x', 'x_sum']
33
- end
34
- end
35
-
36
12
  it 'should pick up names from source tap scheme' do
37
13
  test_assembly do
38
14
  pass
@@ -65,14 +41,25 @@ context Cascading::Scope do
65
41
 
66
42
  it 'should propagate names through CoGroup' do
67
43
  test_join_assembly do
44
+ check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
45
+ :grouping_fields => ['x', 'x_']
46
+ end
47
+ end
48
+
49
+ it 'should propagate names through CoGroup with no Aggregations' do
50
+ post_join_block = lambda do
51
+ check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
52
+ :grouping_fields => ['x', 'x_']
68
53
  end
54
+
55
+ test_join_assembly(:post_join_block => post_join_block)
69
56
  end
70
57
 
71
58
  it 'should pass grouping fields to Every' do
72
59
  test_join_assembly do
73
60
  sum :mapping => {'x' => 'x_sum'}, :type => :int
74
61
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
75
- :grouping_fields => ['x', 'x_sum']
62
+ :grouping_fields => ['x', 'x_', 'x_sum']
76
63
  assert_group_size_equals 1
77
64
  end
78
65
  end
@@ -81,88 +68,82 @@ context Cascading::Scope do
81
68
  test_join_assembly do
82
69
  sum :mapping => {'x' => 'x_sum'}, :type => :int
83
70
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
84
- :grouping_fields => ['x', 'x_sum']
71
+ :grouping_fields => ['x', 'x_', 'x_sum']
85
72
  assert_group_size_equals 1
86
73
 
87
74
  sum :mapping => {'y' => 'y_sum'}, :type => :int
88
75
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
89
- :grouping_fields => ['x', 'x_sum', 'y_sum']
76
+ :grouping_fields => ['x', 'x_', 'x_sum', 'y_sum']
90
77
  assert_group_size_equals 1
91
78
  end
92
79
  end
93
80
 
94
81
  it 'should propagate names through Every' do
95
- test_join_assembly do
82
+ post_join_block = lambda do
83
+ check_scope :values_fields => ['x', 'x_', 'x_sum', 'y_sum']
84
+ assert_size_equals 4
85
+ end
86
+
87
+ test_join_assembly :post_join_block => post_join_block do
96
88
  sum :mapping => {'x' => 'x_sum'}, :type => :int
97
89
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
98
- :grouping_fields => ['x', 'x_sum']
90
+ :grouping_fields => ['x', 'x_', 'x_sum']
99
91
  assert_group_size_equals 1
100
92
 
101
93
  sum :mapping => {'y' => 'y_sum'}, :type => :int
102
94
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
103
- :grouping_fields => ['x', 'x_sum', 'y_sum']
95
+ :grouping_fields => ['x', 'x_', 'x_sum', 'y_sum']
104
96
  assert_group_size_equals 1
105
-
106
- check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
107
- :grouping_fields => ['x', 'x_sum', 'y_sum']
108
- assert_size_equals 3
109
-
110
- check_scope :values_fields => ['x', 'x_sum', 'y_sum']
111
97
  end
112
98
  end
113
99
 
114
100
  it 'should pass values fields to Each immediately following CoGroup and remove grouping fields' do
115
- test_join_assembly do
101
+ post_join_block = lambda do
116
102
  assert_size_equals 10
117
103
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_']
118
104
  end
105
+ test_join_assembly(:post_join_block => post_join_block)
119
106
  end
120
107
 
121
108
  it 'should fail to pass grouping fields to Every immediately following Each' do
109
+ post_join_block = lambda do
110
+ pass
111
+ check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_']
112
+ sum :mapping => {'x' => 'x_sum'}, :type => :int
113
+ end
114
+
122
115
  lambda do # Composition fails
123
- test_join_assembly do
124
- pass
125
- check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_']
126
- begin
127
- sum :mapping => {'x' => 'x_sum'}, :type => :int
128
- rescue CascadingException => e
129
- raise e.cause
130
- end
131
- end
132
- end.should raise_error java.lang.IllegalStateException, 'Every cannot follow a Tap or an Each'
116
+ test_join_assembly(:post_join_block => post_join_block)
117
+ # sum doesn't exist outside of Aggregations (where block of join is
118
+ # evaluated)
119
+ end.should raise_error NoMethodError
133
120
  end
134
121
 
135
122
  it 'should propagate values fields and field names into branch' do
136
- test_join_assembly(:branches => ['data_tuple']) do
123
+ post_join_block = lambda do
137
124
  branch 'data_tuple' do
138
125
  check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
139
- :grouping_fields => ['x']
126
+ :grouping_fields => ['x', 'x_']
140
127
  assert_size_equals 10
141
128
  end
142
129
  end
130
+
131
+ test_join_assembly(:branches => ['data_tuple'], :post_join_block => post_join_block)
143
132
  end
144
133
 
145
- it 'should fail to propagate grouping fields to branch' do
146
- lambda do # Execution fails
147
- begin
148
- test_join_assembly(:branches => ['attempt_group']) do
149
- branch 'attempt_group' do
150
- check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
151
- :grouping_fields => ['x']
152
- sum :mapping => {'x' => 'x_sum'}, :type => :int
153
- end
154
- end
155
- rescue CascadingException => e
156
- raise e.cause
134
+ it 'should propagate names through GroupBy' do
135
+ test_assembly do
136
+ group_by 'line' do
137
+ count
157
138
  end
158
- end.should raise_error Java::CascadingFlowPlanner::PlannerException, "[attempt_group][sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)] Every instances may not split after a GroupBy or CoGroup pipe, found: Every(attempt_group)[Sum[decl:'x_sum'][args:1]] after: CoGroup(left*right)[by:left:[{1}:'x']right:[{1}:'x']]"
139
+ check_scope :values_fields => ['line', 'count']
140
+ end
159
141
  end
160
142
 
161
- it 'should propagate names through GroupBy' do
143
+ it 'should propagate names through blockless GroupBy' do
162
144
  test_assembly do
163
145
  group_by 'line'
164
- check_scope :values_fields => ['offset', 'line'],
165
- :grouping_fields => ['line']
146
+ check_scope :values_fields => ['offset', 'line'], :grouping_fields => ['line']
166
147
  end
167
148
  end
168
149
  end
data/spec/spec_util.rb CHANGED
@@ -19,6 +19,7 @@ end
19
19
  module Cascading
20
20
  class Flow; include ScopeTests; end
21
21
  class Assembly; include ScopeTests; end
22
+ class Aggregations; include ScopeTests; end
22
23
  end
23
24
 
24
25
  def test_flow(&block)
@@ -50,6 +51,7 @@ end
50
51
 
51
52
  def test_join_assembly(params = {}, &block)
52
53
  branches = params[:branches] || []
54
+ post_join_block = params[:post_join_block]
53
55
 
54
56
  test_flow do
55
57
  source 'left', tap('spec/resource/join_input.txt', :kind => :lfs, :scheme => text_line_scheme)
@@ -75,11 +77,9 @@ def test_join_assembly(params = {}, &block)
75
77
  # Empty scope because there is no 'join' source or assembly
76
78
  check_scope :values_fields => []
77
79
 
78
- left_join 'left', 'right', :on => ['x']
79
- check_scope :values_fields => ['offset', 'line', 'x', 'y', 'z', 'offset_', 'line_', 'x_', 'y_', 'z_'],
80
- :grouping_fields => ['x']
80
+ left_join 'left', 'right', :on => ['x'], &block
81
81
 
82
- instance_eval(&block)
82
+ instance_eval &post_join_block if post_join_block
83
83
  end
84
84
 
85
85
  sink 'join', tap("#{OUTPUT_DIR}/join_out.txt", :kind => :lfs, :sink_mode => :replace)
data/tags CHANGED
@@ -4,11 +4,14 @@
4
4
  !_TAG_PROGRAM_NAME Exuberant Ctags //
5
5
  !_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
6
6
  !_TAG_PROGRAM_VERSION 5.8 //
7
+ Aggregations lib/cascading/aggregations.rb /^ class Aggregations$/;" c class:Cascading
8
+ Aggregations spec/spec_util.rb /^ class Aggregations; include ScopeTests; end$/;" c class:Cascading
7
9
  Array lib/cascading/ext/array.rb /^class Array$/;" c
8
10
  Assembly lib/cascading/assembly.rb /^ class Assembly < Cascading::Node$/;" c class:Cascading
9
11
  Assembly spec/spec_util.rb /^ class Assembly; include ScopeTests; end$/;" c class:Cascading
10
12
  Cascade lib/cascading/cascade.rb /^ class Cascade < Cascading::Node$/;" c class:Cascading
11
13
  Cascading lib/cascading.rb /^module Cascading$/;" m
14
+ Cascading lib/cascading/aggregations.rb /^module Cascading$/;" m
12
15
  Cascading lib/cascading/assembly.rb /^module Cascading$/;" m
13
16
  Cascading lib/cascading/base.rb /^module Cascading$/;" m
14
17
  Cascading lib/cascading/cascade.rb /^module Cascading$/;" m
@@ -18,7 +21,7 @@ Cascading lib/cascading/expr_stub.rb /^module Cascading$/;" m
18
21
  Cascading lib/cascading/flow.rb /^module Cascading$/;" m
19
22
  Cascading lib/cascading/operations.rb /^module Cascading$/;" m
20
23
  Cascading lib/cascading/scope.rb /^module Cascading$/;" m
21
- Cascading samples/cascading.rb /^module Cascading$/;" m
24
+ Cascading lib/cascading/sub_assembly.rb /^module Cascading$/;" m
22
25
  Cascading spec/spec_util.rb /^module Cascading$/;" m
23
26
  CascadingException lib/cascading/cascading_exception.rb /^ class CascadingException < StandardError$/;" c class:Cascading
24
27
  ExprArgException lib/cascading/expr_stub.rb /^ class ExprArgException < StandardError; end$/;" c
@@ -34,12 +37,13 @@ Operations lib/cascading/operations.rb /^ module Operations$/;" m class:Cascadi
34
37
  Registerable lib/cascading/base.rb /^ module Registerable$/;" m class:Cascading
35
38
  Scope lib/cascading/scope.rb /^ class Scope$/;" c class:Cascading
36
39
  ScopeTests spec/spec_util.rb /^module ScopeTests$/;" m
40
+ SubAssembly lib/cascading/sub_assembly.rb /^ class SubAssembly$/;" c class:Cascading
37
41
  TC_Assembly test/test_assembly.rb /^class TC_Assembly < Test::Unit::TestCase$/;" c
38
- TC_AssemblyScenarii test/test_assembly.rb /^class TC_AssemblyScenarii < Test::Unit::TestCase$/;" c
39
42
  TC_Cascade test/test_cascade.rb /^class TC_Cascade < Test::Unit::TestCase$/;" c
40
43
  TC_Cascading test/test_cascading.rb /^class TC_Cascading < Test::Unit::TestCase$/;" c
41
44
  TC_Exceptions test/test_exceptions.rb /^class TC_Exceptions < Test::Unit::TestCase$/;" c
42
45
  TC_Flow test/test_flow.rb /^class TC_Flow < Test::Unit::TestCase$/;" c
46
+ TC_LocalExecution test/test_local_execution.rb /^class TC_LocalExecution < Test::Unit::TestCase$/;" c
43
47
  TC_Operations test/test_operations.rb /^class TC_Operations < Test::Unit::TestCase$/;" c
44
48
  add lib/cascading/base.rb /^ def add(name, instance)$/;" f class:Cascading.Registerable
45
49
  add_archive_to_distributed_cache lib/cascading/flow.rb /^ def add_archive_to_distributed_cache(file)$/;" f
@@ -50,37 +54,34 @@ add_to_distributed_cache lib/cascading/flow.rb /^ def add_to_distributed_cach
50
54
  aggregator_function lib/cascading/operations.rb /^ def aggregator_function(args, aggregator_klass)$/;" f class:Cascading.Operations
51
55
  all lib/cascading/base.rb /^ def all$/;" f class:Cascading.Registerable
52
56
  all_fields lib/cascading/cascading.rb /^ def all_fields$/;" f class:Cascading
57
+ apply_aggregations lib/cascading/assembly.rb /^ def apply_aggregations(group, incoming_scopes, &block)$/;" f class:Cascading.Assembly
53
58
  assembly lib/cascading/flow.rb /^ def assembly(name, &block)$/;" f class:Cascading.Flow
54
- assembly test/test_assembly.rb /^def assembly(name, &block)$/;" f
55
59
  assert lib/cascading/assembly.rb /^ def assert(*args)$/;" f class:Cascading.Assembly
56
- assert_group lib/cascading/assembly.rb /^ def assert_group(*args)$/;" f class:Cascading.Assembly
57
- assert_group_size_equals lib/cascading/assembly.rb /^ def assert_group_size_equals(*args)$/;" f class:Cascading.Assembly
60
+ assert_group lib/cascading/aggregations.rb /^ def assert_group(*args)$/;" f class:Cascading.Aggregations
61
+ assert_group_size_equals lib/cascading/aggregations.rb /^ def assert_group_size_equals(*args)$/;" f class:Cascading.Aggregations
58
62
  assert_not_null lib/cascading/assembly.rb /^ def assert_not_null(*args)$/;" f class:Cascading.Assembly
59
63
  assert_size_equals lib/cascading/assembly.rb /^ def assert_size_equals(*args)$/;" f class:Cascading.Assembly
60
- average lib/cascading/assembly.rb /^ def average(*args); composite_aggregator(args, :average_function); end$/;" f class:Cascading.Assembly
61
- average_function lib/cascading/operations.rb /^ def average_function(*args)$/;" f class:Cascading.Operations
62
- bind_names lib/cascading/assembly.rb /^ def bind_names(*new_names)$/;" f class:Cascading.Assembly
64
+ average lib/cascading/aggregations.rb /^ def average(*args)$/;" f class:Cascading.Aggregations
63
65
  branch lib/cascading/assembly.rb /^ def branch(name, &block)$/;" f class:Cascading.Assembly
64
66
  cascade lib/cascading/cascading.rb /^ def cascade(name, &block)$/;" f class:Cascading
65
67
  cascading.jruby src/cascading/jruby/Main.java /^package cascading.jruby;$/;" p
66
68
  cast lib/cascading/assembly.rb /^ def cast(type_map)$/;" f class:Cascading.Assembly
67
69
  cause lib/cascading/cascading_exception.rb /^ def cause(depth = @depth)$/;" f class:Cascading.CascadingException
68
70
  check_scope spec/spec_util.rb /^ def check_scope(params = {})$/;" f class:ScopeTests
69
- compare_with_references test/test_assembly.rb /^def compare_with_references(test_name)$/;" f
70
71
  compile lib/cascading/expr_stub.rb /^ def compile$/;" f class:Cascading
71
72
  complete lib/cascading/cascade.rb /^ def complete(properties = nil)$/;" f class:Cascading.Cascade
72
73
  complete lib/cascading/flow.rb /^ def complete(properties = nil)$/;" f
73
- composite_aggregator lib/cascading/assembly.rb /^ def composite_aggregator(args, function)$/;" f class:Cascading.Assembly
74
+ composite_aggregator lib/cascading/aggregations.rb /^ def composite_aggregator(args, function)$/;" f class:Cascading.Aggregations
74
75
  compress_output lib/cascading/flow.rb /^ def compress_output(codec, type)$/;" f class:Cascading.Flow
75
76
  connect lib/cascading/flow.rb /^ def connect(properties = nil)$/;" f
76
77
  copy lib/cascading/assembly.rb /^ def copy(*args)$/;" f class:Cascading.Assembly
77
78
  copy lib/cascading/scope.rb /^ def copy$/;" f class:Cascading.Scope
78
79
  copy_fields lib/cascading/cascading.rb /^ def copy_fields(fields)$/;" f class:Cascading
79
- count lib/cascading/assembly.rb /^ def count(*args)$/;" f class:Cascading.Assembly
80
- count_function lib/cascading/operations.rb /^ def count_function(*args)$/;" f class:Cascading.Operations
80
+ count lib/cascading/aggregations.rb /^ def count(name = 'count')$/;" f class:Cascading.Aggregations
81
81
  date_formatter lib/cascading/operations.rb /^ def date_formatter(fields, format, timezone=nil)$/;" f class:Cascading.Operations.to_java_comparable_array
82
82
  date_parser lib/cascading/operations.rb /^ def date_parser(field, format)$/;" f class:Cascading.Operations.to_java_comparable_array
83
83
  debug lib/cascading/assembly.rb /^ def debug(*args)$/;" f class:Cascading.Assembly
84
+ debug_scope lib/cascading/aggregations.rb /^ def debug_scope$/;" f class:Cascading.Aggregations
84
85
  debug_scope lib/cascading/assembly.rb /^ def debug_scope$/;" f class:Cascading.Assembly
85
86
  debug_scope lib/cascading/flow.rb /^ def debug_scope(name = nil)$/;" f class:Cascading.Flow
86
87
  dedup_field_names lib/cascading/cascading.rb /^ def dedup_field_names(*names)$/;" f class:Cascading
@@ -94,7 +95,6 @@ describe lib/cascading/flow.rb /^ def describe(offset = '')$/;" f class:Casca
94
95
  difference_fields lib/cascading/cascading.rb /^ def difference_fields(*fields)$/;" f class:Cascading
95
96
  discard lib/cascading/assembly.rb /^ def discard(*args)$/;" f class:Cascading.Assembly
96
97
  distinct lib/cascading/assembly.rb /^ def distinct(*args)$/;" f class:Cascading.Assembly
97
- do_every_block_and_rename_fields lib/cascading/assembly.rb /^ def do_every_block_and_rename_fields(group_fields, incoming_scopes, &block)$/;" f class:Cascading.Assembly
98
98
  draw lib/cascading/cascade.rb /^ def draw(dir, properties = nil)$/;" f class:Cascading.Cascade
99
99
  each lib/cascading/assembly.rb /^ def each(*args)$/;" f class:Cascading.Assembly
100
100
  empty_scope lib/cascading/scope.rb /^ def self.empty_scope(name)$/;" F class:Cascading.Scope
@@ -104,12 +104,12 @@ eval lib/cascading/expr_stub.rb /^ def eval(actual_args)$/;" f class:Cascadin
104
104
  eval_expression lib/cascading/assembly.rb /^ def eval_expression(*args)$/;" f class:Cascading.Assembly
105
105
  evaluate lib/cascading/expr_stub.rb /^ def evaluate(values)$/;" f class:Cascading
106
106
  evaluator lib/cascading/expr_stub.rb /^ def evaluator$/;" f class:Cascading
107
- every lib/cascading/assembly.rb /^ def every(*args)$/;" f class:Cascading.Assembly
108
- every_applied? lib/cascading/assembly.rb /^ def every_applied?$/;" f class:Cascading.Assembly
107
+ every lib/cascading/aggregations.rb /^ def every(*args)$/;" f class:Cascading.Aggregations
109
108
  expr lib/cascading/cascading.rb /^ def expr(expression, params = {})$/;" f class:Cascading
110
109
  expr lib/cascading/expr_stub.rb /^ def self.expr(expression, params = {})$/;" F class:Cascading
111
110
  expression_filter lib/cascading/operations.rb /^ def expression_filter(*args)$/;" f class:Cascading.Operations.to_java_comparable_array
112
111
  expression_function lib/cascading/operations.rb /^ def expression_function(*args)$/;" f class:Cascading.Operations
112
+ extract_field_map lib/cascading/aggregations.rb /^ def extract_field_map(args)$/;" f class:Cascading.Aggregations
113
113
  extract_options lib/cascading/ext/array.rb /^ def extract_options$/;" f class:Array
114
114
  extract_options! lib/cascading/ext/array.rb /^ def extract_options!$/;" f class:Array
115
115
  fetch_cause lib/cascading/cascading_exception.rb /^ def fetch_cause(ne, depth)$/;" f class:Cascading.CascadingException
@@ -118,8 +118,10 @@ fields lib/cascading/cascading.rb /^ def fields(fields)$/;" f class:Cascading
118
118
  filter lib/cascading/assembly.rb /^ def filter(*args)$/;" f class:Cascading.Assembly
119
119
  filter_not_null lib/cascading/assembly.rb /^ def filter_not_null(*args)$/;" f class:Cascading.Assembly
120
120
  filter_null lib/cascading/assembly.rb /^ def filter_null(*args)$/;" f class:Cascading.Assembly
121
+ finalize lib/cascading/aggregations.rb /^ def finalize$/;" f class:Cascading.Aggregations
122
+ finalize lib/cascading/sub_assembly.rb /^ def finalize$/;" f class:Cascading.SubAssembly
121
123
  find_child lib/cascading/base.rb /^ def find_child(name)$/;" f class:Cascading.Node
122
- first lib/cascading/assembly.rb /^ def first(*args); composite_aggregator(args, :first_function); end$/;" f class:Cascading.Assembly
124
+ first lib/cascading/aggregations.rb /^ def first(*args); composite_aggregator(args, :first_function); end$/;" f class:Cascading.Aggregations
123
125
  first_function lib/cascading/operations.rb /^ def first_function(*args)$/;" f class:Cascading.Operations
124
126
  flow lib/cascading/cascade.rb /^ def flow(name, &block)$/;" f class:Cascading.Cascade
125
127
  flow lib/cascading/cascading.rb /^ def flow(name, &block)$/;" f class:Cascading
@@ -129,42 +131,46 @@ group_by lib/cascading/assembly.rb /^ def group_by(*args, &block)$/;" f class
129
131
  grouping_fields lib/cascading/scope.rb /^ def grouping_fields$/;" f class:Cascading.Scope
130
132
  identity lib/cascading/operations.rb /^ def identity$/;" f class:Cascading.Operations
131
133
  in_directory tasks/setup.rb /^def in_directory( dir, &block )$/;" f
134
+ initialize lib/cascading/aggregations.rb /^ def initialize(assembly, group, incoming_scopes)$/;" f class:Cascading.Aggregations
132
135
  initialize lib/cascading/assembly.rb /^ def initialize(name, parent, outgoing_scopes = {})$/;" f class:Cascading.Assembly
133
136
  initialize lib/cascading/base.rb /^ def initialize(name, parent)$/;" f class:Cascading.Node
134
137
  initialize lib/cascading/cascade.rb /^ def initialize(name)$/;" f class:Cascading.Cascade
135
138
  initialize lib/cascading/cascading_exception.rb /^ def initialize(native_exception, message)$/;" f class:Cascading.CascadingException
136
139
  initialize lib/cascading/expr_stub.rb /^ def initialize(expression)$/;" f class:Cascading.ExprStub
137
140
  initialize lib/cascading/flow.rb /^ def initialize(name, parent)$/;" f class:Cascading.Flow
138
- initialize lib/cascading/scope.rb /^ def initialize(scope, params = {})$/;" f class:Cascading.Scope
141
+ initialize lib/cascading/scope.rb /^ def initialize(scope)$/;" f class:Cascading.Scope
142
+ initialize lib/cascading/sub_assembly.rb /^ def initialize(assembly, sub_assembly)$/;" f class:Cascading.SubAssembly
139
143
  inner_join lib/cascading/assembly.rb /^ def inner_join(*args, &block)$/;" f class:Cascading.Assembly
140
144
  insert lib/cascading/assembly.rb /^ def insert(args)$/;" f class:Cascading.Assembly
141
145
  insert_function lib/cascading/operations.rb /^ def insert_function(*args)$/;" f class:Cascading.Operations
142
146
  join lib/cascading/assembly.rb /^ def join(*args, &block)$/;" f class:Cascading.Assembly
143
147
  join_fields lib/cascading/assembly.rb /^ def join_fields(*args)$/;" f class:Cascading.Assembly
144
- last lib/cascading/assembly.rb /^ def last(*args); composite_aggregator(args, :last_function); end$/;" f class:Cascading.Assembly
148
+ last lib/cascading/aggregations.rb /^ def last(*args); composite_aggregator(args, :last_function); end$/;" f class:Cascading.Aggregations
145
149
  last_function lib/cascading/operations.rb /^ def last_function(*args)$/;" f class:Cascading.Operations
146
150
  last_grouping_fields lib/cascading/cascading.rb /^ def last_grouping_fields$/;" f class:Cascading
147
151
  left_join lib/cascading/assembly.rb /^ def left_join(*args, &block)$/;" f class:Cascading.Assembly
148
152
  libpath lib/cascading.rb /^ def self.libpath( *args )$/;" F class:Cascading
149
153
  local_properties lib/cascading/cascading.rb /^ def local_properties(base_dir)$/;" f
150
154
  main src/cascading/jruby/Main.java /^ public static void main(String[] args) {$/;" m class:Main
151
- make_each lib/cascading/assembly.rb /^ def make_each(type, *parameters)$/;" f class:Cascading.Assembly
152
- make_every lib/cascading/assembly.rb /^ def make_every(type, *parameters)$/;" f class:Cascading.Assembly
153
155
  make_flows lib/cascading/cascade.rb /^ def make_flows(flows, properties)$/;" f class:Cascading.Cascade
154
- make_pipe lib/cascading/assembly.rb /^ def make_pipe(type, parameters, grouping_key_fields = [], incoming_scopes = [scope])$/;" f class:Cascading.Assembly
156
+ make_pipe lib/cascading/aggregations.rb /^ def make_pipe(type, parameters)$/;" f class:Cascading.Aggregations
157
+ make_pipe lib/cascading/assembly.rb /^ def make_pipe(type, parameters)$/;" f class:Cascading.Assembly
155
158
  make_pipes lib/cascading/flow.rb /^ def make_pipes$/;" f
156
159
  make_tap_parameter lib/cascading/flow.rb /^ def make_tap_parameter(taps)$/;" f
157
160
  manifest tasks/setup.rb /^def manifest$/;" f
158
161
  match_rows lib/cascading/assembly.rb /^ def match_rows(*args)$/;" f class:Cascading.Assembly
159
- max lib/cascading/assembly.rb /^ def max(*args); composite_aggregator(args, :max_function); end$/;" f class:Cascading.Assembly
162
+ max lib/cascading/aggregations.rb /^ def max(*args); composite_aggregator(args, :max_function); end$/;" f class:Cascading.Aggregations
160
163
  max_function lib/cascading/operations.rb /^ def max_function(*args)$/;" f class:Cascading.Operations
161
- min lib/cascading/assembly.rb /^ def min(*args); composite_aggregator(args, :min_function); end$/;" f class:Cascading.Assembly
164
+ min lib/cascading/aggregations.rb /^ def min(*args); composite_aggregator(args, :min_function); end$/;" f class:Cascading.Aggregations
162
165
  min_function lib/cascading/operations.rb /^ def min_function(*args)$/;" f class:Cascading.Operations
163
166
  mock_assembly test/test_assembly.rb /^ def mock_assembly(&block)$/;" f class:TC_Assembly
164
- multi_tap lib/cascading/cascading.rb /^ def multi_tap(*taps)$/;" f
167
+ mock_branched_assembly test/test_assembly.rb /^ def mock_branched_assembly(&block)$/;" f class:TC_Assembly
168
+ mock_two_input_assembly test/test_assembly.rb /^ def mock_two_input_assembly(&block)$/;" f class:TC_Assembly
169
+ multi_sink_tap lib/cascading/cascading.rb /^ def multi_sink_tap(*taps)$/;" f
170
+ multi_source_tap lib/cascading/cascading.rb /^ def multi_source_tap(*taps)$/;" f
165
171
  names_and_types lib/cascading/expr_stub.rb /^ def names_and_types$/;" f class:Cascading
166
172
  outer_join lib/cascading/assembly.rb /^ def outer_join(*args, &block)$/;" f class:Cascading.Assembly
167
- outgoing_scope lib/cascading/scope.rb /^ def self.outgoing_scope(flow_element, incoming_scopes, grouping_key_fields, every_applied)$/;" F class:Cascading.Scope
173
+ outgoing_scope lib/cascading/scope.rb /^ def self.outgoing_scope(flow_element, incoming_scopes)$/;" F class:Cascading.Scope
168
174
  outgoing_scope_for lib/cascading/scope.rb /^ def self.outgoing_scope_for(flow_element, incoming_scopes)$/;" F class:Cascading.Scope
169
175
  paragraphs_of tasks/setup.rb /^def paragraphs_of( path, *paragraphs )$/;" f
170
176
  parent_flow lib/cascading/assembly.rb /^ def parent_flow$/;" f class:Cascading.Assembly
@@ -172,6 +178,7 @@ parse lib/cascading/assembly.rb /^ def parse(*args)$/;" f class:Cascading.Ass
172
178
  parse_date lib/cascading/assembly.rb /^ def parse_date(*args)$/;" f class:Cascading.Assembly
173
179
  pass lib/cascading/assembly.rb /^ def pass(*args)$/;" f class:Cascading.Assembly
174
180
  path lib/cascading.rb /^ def self.path( *args )$/;" F class:Cascading
181
+ path lib/cascading/sub_assembly.rb /^ def path(pipe, tail_pipes)$/;" f class:Cascading.SubAssembly
175
182
  project lib/cascading/assembly.rb /^ def project(*args)$/;" f class:Cascading.Assembly
176
183
  qualified_name lib/cascading/base.rb /^ def qualified_name$/;" f class:Cascading.Node
177
184
  quiet tasks/setup.rb /^def quiet( &block )$/;" f
@@ -191,9 +198,9 @@ reset lib/cascading/base.rb /^ def reset$/;" f class:Cascading.Registerable
191
198
  results_fields lib/cascading/cascading.rb /^ def results_fields$/;" f class:Cascading
192
199
  right_join lib/cascading/assembly.rb /^ def right_join(*args, &block)$/;" f class:Cascading.Assembly
193
200
  root lib/cascading/base.rb /^ def root$/;" f class:Cascading.Node
194
- sample_properties samples/cascading.rb /^ def sample_properties$/;" f class:Cascading
195
201
  scope lib/cascading/assembly.rb /^ def scope$/;" f class:Cascading.Assembly
196
202
  scope lib/cascading/flow.rb /^ def scope(name = nil)$/;" f class:Cascading.Flow
203
+ scope_fields_to_s lib/cascading/scope.rb /^ def scope_fields_to_s(accessor)$/;" f class:Cascading.Scope
197
204
  search_field_name lib/cascading/cascading.rb /^ def search_field_name(names, candidate)$/;" f class:Cascading
198
205
  sequence_file_scheme lib/cascading/cascading.rb /^ def sequence_file_scheme(*fields)$/;" f
199
206
  set_spill_threshold lib/cascading/flow.rb /^ def set_spill_threshold(threshold)$/;" f
@@ -205,11 +212,10 @@ specific_to_java lib/cascading/expr_stub.rb /^ def specific_to_java(value, ty
205
212
  split lib/cascading/assembly.rb /^ def split(*args)$/;" f class:Cascading.Assembly
206
213
  split_hash lib/cascading/expr_stub.rb /^ def split_hash(h)$/;" f class:Cascading
207
214
  split_rows lib/cascading/assembly.rb /^ def split_rows(*args)$/;" f class:Cascading.Assembly
208
- sum lib/cascading/assembly.rb /^ def sum(*args)$/;" f class:Cascading.Assembly
209
- sum_function lib/cascading/operations.rb /^ def sum_function(*args)$/;" f class:Cascading.Operations
215
+ sub_assembly lib/cascading/assembly.rb /^ def sub_assembly(sub_assembly)$/;" f class:Cascading.Assembly
216
+ sum lib/cascading/aggregations.rb /^ def sum(*args)$/;" f class:Cascading.Aggregations
210
217
  tap lib/cascading/cascading.rb /^ def tap(*args)$/;" f
211
218
  tap_scope lib/cascading/scope.rb /^ def self.tap_scope(tap, name)$/;" F class:Cascading.Scope
212
- test_aggregator_function_ignore_exception test/test_operations.rb /^ def test_aggregator_function_ignore_exception$/;" f class:TC_Operations
213
219
  test_aggregator_function_ignore_tuples test/test_operations.rb /^ def test_aggregator_function_ignore_tuples$/;" f class:TC_Operations
214
220
  test_aggregator_function_ignore_values test/test_operations.rb /^ def test_aggregator_function_ignore_values$/;" f class:TC_Operations
215
221
  test_ambiguous_assembly_names test/test_flow.rb /^ def test_ambiguous_assembly_names$/;" f class:TC_Flow
@@ -221,28 +227,48 @@ test_branch_unique test/test_assembly.rb /^ def test_branch_unique$/;" f
221
227
  test_cascade test/test_cascade.rb /^ def test_cascade$/;" f class:TC_Cascade
222
228
  test_cascading_exception test/test_exceptions.rb /^ def test_cascading_exception$/;" f class:TC_Exceptions
223
229
  test_create_assembly_simple test/test_assembly.rb /^ def test_create_assembly_simple$/;" f class:TC_Assembly
224
- test_create_each test/test_assembly.rb /^ def test_create_each$/;" f
225
- test_create_every test/test_assembly.rb /^ def test_create_every$/;" f
226
- test_create_group_by test/test_assembly.rb /^ def test_create_group_by$/;" f
227
- test_create_group_by_many_fields test/test_assembly.rb /^ def test_create_group_by_many_fields$/;" f
228
- test_create_group_by_reverse test/test_assembly.rb /^ def test_create_group_by_reverse$/;" f
229
- test_create_group_by_with_sort test/test_assembly.rb /^ def test_create_group_by_with_sort$/;" f
230
- test_create_group_by_with_sort_reverse test/test_assembly.rb /^ def test_create_group_by_with_sort_reverse$/;" f
231
- test_each_identity test/test_assembly.rb /^ def test_each_identity$/;" f
230
+ test_create_each test/test_assembly.rb /^ def test_create_each$/;" f class:TC_Assembly
231
+ test_create_every test/test_assembly.rb /^ def test_create_every$/;" f class:TC_Assembly
232
+ test_create_group_by test/test_assembly.rb /^ def test_create_group_by$/;" f class:TC_Assembly
233
+ test_create_group_by_many_fields test/test_assembly.rb /^ def test_create_group_by_many_fields$/;" f class:TC_Assembly
234
+ test_create_group_by_reverse test/test_assembly.rb /^ def test_create_group_by_reverse$/;" f class:TC_Assembly
235
+ test_create_group_by_with_sort test/test_assembly.rb /^ def test_create_group_by_with_sort$/;" f class:TC_Assembly
236
+ test_create_group_by_with_sort_reverse test/test_assembly.rb /^ def test_create_group_by_with_sort_reverse$/;" f class:TC_Assembly
237
+ test_create_join test/test_assembly.rb /^ def test_create_join$/;" f
238
+ test_create_join_many_fields test/test_assembly.rb /^ def test_create_join_many_fields$/;" f
239
+ test_create_join_with_declared_fields test/test_assembly.rb /^ def test_create_join_with_declared_fields$/;" f
240
+ test_create_union test/test_assembly.rb /^ def test_create_union$/;" f class:TC_Assembly
241
+ test_create_union_many_fields test/test_assembly.rb /^ def test_create_union_many_fields$/;" f class:TC_Assembly
242
+ test_create_union_reverse test/test_assembly.rb /^ def test_create_union_reverse$/;" f class:TC_Assembly
243
+ test_create_union_with_sort test/test_assembly.rb /^ def test_create_union_with_sort$/;" f class:TC_Assembly
244
+ test_create_union_with_sort_reverse test/test_assembly.rb /^ def test_create_union_with_sort_reverse$/;" f class:TC_Assembly
245
+ test_each_identity test/test_assembly.rb /^ def test_each_identity$/;" f class:TC_Assembly
232
246
  test_empty_where test/test_assembly.rb /^ def test_empty_where$/;" f
247
+ test_every_cannot_follow_tap test/test_assembly.rb /^ def test_every_cannot_follow_tap$/;" f class:TC_Assembly
233
248
  test_fields_field test/test_cascading.rb /^ def test_fields_field$/;" f class:TC_Cascading
234
249
  test_fields_multiple test/test_cascading.rb /^ def test_fields_multiple$/;" f class:TC_Cascading
235
250
  test_fields_single test/test_cascading.rb /^ def test_fields_single$/;" f class:TC_Cascading
236
251
  test_flow spec/spec_util.rb /^def test_flow(&block)$/;" f
237
252
  test_flow test/test_flow.rb /^ def test_flow$/;" f class:TC_Flow
238
- test_full_assembly test/test_assembly.rb /^ def test_full_assembly$/;" f
239
- test_join1 test/test_assembly.rb /^ def test_join1$/;" f class:TC_AssemblyScenarii
240
- test_join2 test/test_assembly.rb /^ def test_join2$/;" f
253
+ test_group_by_with_block test/test_assembly.rb /^ def test_group_by_with_block$/;" f class:TC_Assembly
254
+ test_join1 test/test_local_execution.rb /^ def test_join1$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap.test_smoke_test_sequence_file_scheme.test_splitter.test_smoke_test_multi_source_tap
255
+ test_join2 test/test_local_execution.rb /^ def test_join2$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap.test_smoke_test_sequence_file_scheme.test_splitter.test_smoke_test_multi_source_tap.test_join1
241
256
  test_join_assembly spec/spec_util.rb /^def test_join_assembly(params = {}, &block)$/;" f
257
+ test_join_empty_on test/test_assembly.rb /^ def test_join_empty_on$/;" f
258
+ test_join_invalid_on test/test_assembly.rb /^ def test_join_invalid_on$/;" f
259
+ test_join_undefined_inputs test/test_assembly.rb /^ def test_join_undefined_inputs$/;" f
260
+ test_join_with_block test/test_assembly.rb /^ def test_join_with_block$/;" f
261
+ test_join_without_on test/test_assembly.rb /^ def test_join_without_on$/;" f
242
262
  test_smoke_test_debug_scope test/test_assembly.rb /^ def test_smoke_test_debug_scope$/;" f
243
- test_smoke_test_sequence_file_scheme test/test_assembly.rb /^ def test_smoke_test_sequence_file_scheme$/;" f class:TC_AssemblyScenarii
244
- test_splitter test/test_assembly.rb /^ def test_splitter$/;" f class:TC_AssemblyScenarii.test_smoke_test_sequence_file_scheme
263
+ test_smoke_test_multi_source_tap test/test_local_execution.rb /^ def test_smoke_test_multi_source_tap$/;" f class:TC_LocalExecution
264
+ test_smoke_test_multi_source_tap test/test_local_execution.rb /^ def test_smoke_test_multi_source_tap$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap.test_smoke_test_sequence_file_scheme.test_splitter
265
+ test_smoke_test_sequence_file_scheme test/test_local_execution.rb /^ def test_smoke_test_sequence_file_scheme$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap
266
+ test_splitter test/test_local_execution.rb /^ def test_splitter$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap.test_smoke_test_sequence_file_scheme
267
+ test_sub_assembly test/test_assembly.rb /^ def test_sub_assembly$/;" f
245
268
  test_tap test/test_cascading.rb /^ def test_tap$/;" f class:TC_Cascading
269
+ test_union test/test_local_execution.rb /^ def test_union$/;" f class:TC_LocalExecution.test_smoke_test_multi_source_tap.test_smoke_test_sequence_file_scheme.test_splitter.test_smoke_test_multi_source_tap.test_join1.test_join2
270
+ test_union_undefined_inputs test/test_assembly.rb /^ def test_union_undefined_inputs$/;" f class:TC_Assembly
271
+ test_union_with_block test/test_assembly.rb /^ def test_union_with_block$/;" f class:TC_Assembly
246
272
  test_values lib/cascading/expr_stub.rb /^ def test_values$/;" f class:Cascading
247
273
  test_where test/test_assembly.rb /^ def test_where$/;" f
248
274
  test_where_with_expression test/test_assembly.rb /^ def test_where_with_expression$/;" f
@@ -253,9 +279,8 @@ to_s lib/cascading/assembly.rb /^ def to_s$/;" f class:Cascading.Assembly
253
279
  to_s lib/cascading/expr_stub.rb /^ def to_s$/;" f class:Cascading
254
280
  to_s lib/cascading/scope.rb /^ def to_s$/;" f class:Cascading.Scope
255
281
  trace_causes lib/cascading/cascading_exception.rb /^ def trace_causes(ne, depth)$/;" f class:Cascading.CascadingException
256
- union lib/cascading/assembly.rb /^ def union(*args)$/;" f class:Cascading.Assembly
282
+ union lib/cascading/assembly.rb /^ def union(*args, &block)$/;" f class:Cascading.Assembly
257
283
  union_fields lib/cascading/cascading.rb /^ def union_fields(*fields)$/;" f class:Cascading
258
- union_pipes lib/cascading/assembly.rb /^ def union_pipes(*args)$/;" f class:Cascading.Assembly
259
284
  valid? tasks/setup.rb /^ def valid?$/;" f class:Object
260
285
  validate lib/cascading/expr_stub.rb /^ def validate(actual_args = {})$/;" f class:Cascading
261
286
  validate_fields lib/cascading/expr_stub.rb /^ def validate_fields(fields)$/;" f class:Cascading