cascading.jruby 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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