wukong 2.0.2 → 3.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (268) hide show
  1. data/.document +5 -0
  2. data/.gitignore +46 -0
  3. data/.gitmodules +3 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +12 -0
  6. data/.yardopts +19 -0
  7. data/CHANGELOG.md +7 -0
  8. data/Gemfile +3 -0
  9. data/Guardfile +14 -0
  10. data/NOTES-travis.md +31 -0
  11. data/README.md +422 -0
  12. data/Rakefile +12 -0
  13. data/TODO.md +99 -0
  14. data/VERSION +1 -0
  15. data/bin/hdp-cp +0 -0
  16. data/bin/wu-flow +10 -0
  17. data/bin/wu-map +17 -0
  18. data/bin/wu-red +17 -0
  19. data/bin/wukong +17 -0
  20. data/data/CREDITS.md +355 -0
  21. data/data/graph/airfares.tsv +2174 -0
  22. data/data/text/gift_of_the_magi.txt +225 -0
  23. data/data/text/jabberwocky.txt +36 -0
  24. data/data/text/rectification_of_names.txt +33 -0
  25. data/{spec/data → data/twitter}/a_atsigns_b.tsv +0 -0
  26. data/{spec/data → data/twitter}/a_follows_b.tsv +0 -0
  27. data/{spec/data → data/twitter}/tweet.tsv +0 -0
  28. data/{spec/data → data/twitter}/twitter_user.tsv +0 -0
  29. data/data/wikipedia/dbpedia-sentences.tsv +1000 -0
  30. data/examples/dataflow.rb +28 -0
  31. data/examples/{server_logs/logline.rb → dataflow/apache_log_line.rb} +28 -18
  32. data/examples/dataflow/complex.rb +11 -0
  33. data/examples/dataflow/donuts.rb +13 -0
  34. data/examples/dataflow/parse_apache_logs.rb +16 -0
  35. data/examples/dataflow/pig_latinizer.rb +16 -0
  36. data/examples/dataflow/simple.rb +12 -0
  37. data/examples/dataflow/telegram.rb +45 -0
  38. data/examples/examples_helper.rb +9 -0
  39. data/examples/graph/minimum_spanning_tree.rb +73 -0
  40. data/examples/graph/union_find.rb +62 -0
  41. data/examples/text/latinize_text.rb +0 -0
  42. data/examples/text/pig_latin.rb +35 -0
  43. data/examples/tiny_count.rb +8 -0
  44. data/examples/tiny_count/jabberwocky_output.tsv +92 -0
  45. data/examples/twitter/locations.rb +29 -0
  46. data/examples/twitter/models.rb +24 -0
  47. data/examples/twitter/pt1-fiddle.pig +8 -0
  48. data/examples/twitter/pt2-simple_parse.pig +31 -0
  49. data/examples/twitter/pt2-simple_parse.rb +18 -0
  50. data/examples/twitter/pt3-join_on_zips.pig +39 -0
  51. data/examples/twitter/pt4-strong_links.rb +20 -0
  52. data/examples/twitter/pt5-lnglat_and_strong_links.pig +16 -0
  53. data/examples/twitter/states.tsv +50 -0
  54. data/examples/word_count.rb +36 -63
  55. data/examples/workflow/cherry_pie.md +104 -0
  56. data/examples/workflow/cherry_pie.rb +66 -0
  57. data/examples/workflow/fiddle.rb +24 -0
  58. data/examples/workflow/package_gem.rb +55 -0
  59. data/lib/{wukong/encoding.rb → away/escapement.rb} +0 -0
  60. data/lib/away/exe.rb +11 -0
  61. data/lib/away/experimental.rb +5 -0
  62. data/lib/away/from_file.rb +52 -0
  63. data/lib/away/job.rb +56 -0
  64. data/lib/away/job/rake_compat.rb +17 -0
  65. data/lib/away/registry.rb +79 -0
  66. data/lib/away/runner.rb +276 -0
  67. data/lib/away/runner/execute.rb +121 -0
  68. data/lib/away/script.rb +161 -0
  69. data/lib/away/script/hadoop_command.rb +240 -0
  70. data/lib/away/source/file_list_source.rb +15 -0
  71. data/lib/away/source/looper.rb +18 -0
  72. data/lib/away/task.rb +219 -0
  73. data/lib/hanuman.rb +9 -0
  74. data/lib/hanuman/action.rb +21 -0
  75. data/lib/hanuman/chain.rb +4 -0
  76. data/lib/hanuman/graph.rb +51 -0
  77. data/lib/hanuman/graphviz.rb +74 -0
  78. data/lib/hanuman/graphvizzer.rb +185 -0
  79. data/lib/hanuman/resource.rb +6 -0
  80. data/lib/hanuman/slot.rb +87 -0
  81. data/lib/hanuman/slottable.rb +220 -0
  82. data/lib/hanuman/stage.rb +51 -0
  83. data/lib/wukong.rb +31 -17
  84. data/lib/wukong/bad_record.rb +13 -16
  85. data/lib/wukong/dataflow.rb +103 -0
  86. data/lib/wukong/event.rb +44 -0
  87. data/lib/wukong/local_runner.rb +55 -0
  88. data/lib/wukong/mapred.rb +3 -0
  89. data/lib/wukong/model/faker.rb +136 -0
  90. data/lib/wukong/processor.rb +142 -0
  91. data/lib/wukong/settings.rb +0 -0
  92. data/lib/wukong/universe.rb +48 -0
  93. data/lib/wukong/version.rb +3 -0
  94. data/lib/wukong/widget/filter.rb +81 -0
  95. data/lib/wukong/widget/gibberish.rb +123 -0
  96. data/lib/wukong/widget/monitor.rb +26 -0
  97. data/lib/wukong/widget/reducer.rb +66 -0
  98. data/lib/wukong/widget/sink.rb +58 -0
  99. data/lib/wukong/widget/source.rb +120 -0
  100. data/lib/wukong/widget/stringifier.rb +50 -0
  101. data/lib/wukong/workflow.rb +22 -0
  102. data/lib/wukong/workflow/command.rb +42 -0
  103. data/old/config/emr-example.yaml +48 -0
  104. data/{examples → old/examples}/README.txt +0 -0
  105. data/{examples → old/examples}/contrib/jeans/README.markdown +0 -0
  106. data/{examples → old/examples}/contrib/jeans/data/normalized_sizes +0 -0
  107. data/{examples → old/examples}/contrib/jeans/data/orders.tsv +0 -0
  108. data/{examples → old/examples}/contrib/jeans/data/sizes +0 -0
  109. data/{examples → old/examples}/contrib/jeans/normalize.rb +0 -0
  110. data/{examples → old/examples}/contrib/jeans/sizes.rb +0 -0
  111. data/old/examples/corpus/bnc_word_freq.rb +44 -0
  112. data/{examples → old/examples}/corpus/bucket_counter.rb +0 -0
  113. data/{examples → old/examples}/corpus/dbpedia_abstract_to_sentences.rb +0 -0
  114. data/{examples → old/examples}/corpus/sentence_bigrams.rb +0 -0
  115. data/{examples → old/examples}/corpus/sentence_coocurrence.rb +0 -0
  116. data/old/examples/corpus/stopwords.rb +138 -0
  117. data/{examples → old/examples}/corpus/words_to_bigrams.rb +0 -0
  118. data/{examples → old/examples}/emr/README.textile +0 -0
  119. data/{examples → old/examples}/emr/dot_wukong_dir/credentials.json +0 -0
  120. data/{examples → old/examples}/emr/dot_wukong_dir/emr.yaml +0 -0
  121. data/{examples → old/examples}/emr/dot_wukong_dir/emr_bootstrap.sh +0 -0
  122. data/{examples → old/examples}/emr/elastic_mapreduce_example.rb +0 -0
  123. data/{examples → old/examples}/network_graph/adjacency_list.rb +0 -0
  124. data/{examples → old/examples}/network_graph/breadth_first_search.rb +0 -0
  125. data/{examples → old/examples}/network_graph/gen_2paths.rb +0 -0
  126. data/{examples → old/examples}/network_graph/gen_multi_edge.rb +0 -0
  127. data/{examples → old/examples}/network_graph/gen_symmetric_links.rb +0 -0
  128. data/{examples → old/examples}/pagerank/README.textile +0 -0
  129. data/{examples → old/examples}/pagerank/gen_initial_pagerank_graph.pig +0 -0
  130. data/{examples → old/examples}/pagerank/pagerank.rb +0 -0
  131. data/{examples → old/examples}/pagerank/pagerank_initialize.rb +0 -0
  132. data/{examples → old/examples}/pagerank/run_pagerank.sh +0 -0
  133. data/{examples → old/examples}/sample_records.rb +0 -0
  134. data/{examples → old/examples}/server_logs/apache_log_parser.rb +0 -4
  135. data/{examples → old/examples}/server_logs/breadcrumbs.rb +0 -0
  136. data/{examples → old/examples}/server_logs/nook.rb +0 -0
  137. data/{examples → old/examples}/server_logs/nook/faraday_dummy_adapter.rb +0 -0
  138. data/{examples → old/examples}/server_logs/user_agent.rb +0 -0
  139. data/{examples → old/examples}/simple_word_count.rb +0 -0
  140. data/{examples → old/examples}/size.rb +0 -0
  141. data/{examples → old/examples}/stats/avg_value_frequency.rb +0 -0
  142. data/{examples → old/examples}/stats/binning_percentile_estimator.rb +0 -0
  143. data/{examples → old/examples}/stats/data/avg_value_frequency.tsv +0 -0
  144. data/{examples → old/examples}/stats/rank_and_bin.rb +0 -0
  145. data/{examples → old/examples}/stupidly_simple_filter.rb +0 -0
  146. data/old/examples/word_count.rb +75 -0
  147. data/old/graph/graphviz_builder.rb +580 -0
  148. data/old/graph_easy/Attributes.pm +4181 -0
  149. data/old/graph_easy/Graphviz.pm +2232 -0
  150. data/old/wukong.rb +18 -0
  151. data/{lib → old}/wukong/and_pig.rb +0 -0
  152. data/old/wukong/bad_record.rb +18 -0
  153. data/{lib → old}/wukong/datatypes.rb +0 -0
  154. data/{lib → old}/wukong/datatypes/enum.rb +0 -0
  155. data/{lib → old}/wukong/datatypes/fake_types.rb +0 -0
  156. data/{lib → old}/wukong/decorator.rb +0 -0
  157. data/{lib → old}/wukong/encoding/asciize.rb +0 -0
  158. data/{lib → old}/wukong/extensions.rb +0 -0
  159. data/{lib → old}/wukong/extensions/array.rb +0 -0
  160. data/{lib → old}/wukong/extensions/blank.rb +0 -0
  161. data/{lib → old}/wukong/extensions/class.rb +0 -0
  162. data/{lib → old}/wukong/extensions/date_time.rb +0 -0
  163. data/{lib → old}/wukong/extensions/emittable.rb +0 -0
  164. data/{lib → old}/wukong/extensions/enumerable.rb +0 -0
  165. data/{lib → old}/wukong/extensions/hash.rb +0 -0
  166. data/{lib → old}/wukong/extensions/hash_keys.rb +0 -0
  167. data/{lib → old}/wukong/extensions/hash_like.rb +0 -0
  168. data/{lib → old}/wukong/extensions/hashlike_class.rb +0 -0
  169. data/{lib → old}/wukong/extensions/module.rb +0 -0
  170. data/{lib → old}/wukong/extensions/pathname.rb +0 -0
  171. data/{lib → old}/wukong/extensions/string.rb +0 -0
  172. data/{lib → old}/wukong/extensions/struct.rb +0 -0
  173. data/{lib → old}/wukong/extensions/symbol.rb +0 -0
  174. data/{lib → old}/wukong/filename_pattern.rb +0 -0
  175. data/old/wukong/helper.rb +7 -0
  176. data/old/wukong/helper/stopwords.rb +195 -0
  177. data/old/wukong/helper/tokenize.rb +35 -0
  178. data/{lib → old}/wukong/logger.rb +0 -0
  179. data/{lib → old}/wukong/periodic_monitor.rb +0 -0
  180. data/{lib → old}/wukong/schema.rb +0 -0
  181. data/{lib → old}/wukong/script.rb +0 -0
  182. data/{lib → old}/wukong/script/avro_command.rb +0 -0
  183. data/{lib → old}/wukong/script/cassandra_loader_script.rb +0 -0
  184. data/{lib → old}/wukong/script/emr_command.rb +0 -0
  185. data/{lib → old}/wukong/script/hadoop_command.rb +0 -0
  186. data/{lib → old}/wukong/script/local_command.rb +4 -1
  187. data/{lib → old}/wukong/store.rb +0 -0
  188. data/{lib → old}/wukong/store/base.rb +0 -0
  189. data/{lib → old}/wukong/store/cassandra.rb +0 -0
  190. data/{lib → old}/wukong/store/cassandra/streaming.rb +0 -0
  191. data/{lib → old}/wukong/store/cassandra/struct_loader.rb +0 -0
  192. data/{lib → old}/wukong/store/cassandra_model.rb +0 -0
  193. data/{lib → old}/wukong/store/chh_chunked_flat_file_store.rb +0 -0
  194. data/{lib → old}/wukong/store/chunked_flat_file_store.rb +0 -0
  195. data/{lib → old}/wukong/store/conditional_store.rb +0 -0
  196. data/{lib → old}/wukong/store/factory.rb +0 -0
  197. data/{lib → old}/wukong/store/flat_file_store.rb +0 -0
  198. data/{lib → old}/wukong/store/key_store.rb +0 -0
  199. data/{lib → old}/wukong/store/null_store.rb +0 -0
  200. data/{lib → old}/wukong/store/read_thru_store.rb +0 -0
  201. data/{lib → old}/wukong/store/tokyo_tdb_key_store.rb +0 -0
  202. data/{lib → old}/wukong/store/tyrant_rdb_key_store.rb +0 -0
  203. data/{lib → old}/wukong/store/tyrant_tdb_key_store.rb +0 -0
  204. data/{lib → old}/wukong/streamer.rb +8 -0
  205. data/{lib → old}/wukong/streamer/accumulating_reducer.rb +0 -0
  206. data/{lib → old}/wukong/streamer/base.rb +2 -1
  207. data/{lib → old}/wukong/streamer/counting_reducer.rb +0 -0
  208. data/{lib → old}/wukong/streamer/filter.rb +0 -0
  209. data/old/wukong/streamer/instance_streamer.rb +15 -0
  210. data/old/wukong/streamer/json_streamer.rb +21 -0
  211. data/{lib → old}/wukong/streamer/line_streamer.rb +0 -0
  212. data/{lib → old}/wukong/streamer/list_reducer.rb +0 -0
  213. data/{lib → old}/wukong/streamer/rank_and_bin_reducer.rb +0 -0
  214. data/{lib → old}/wukong/streamer/record_streamer.rb +0 -0
  215. data/{lib → old}/wukong/streamer/reducer.rb +0 -0
  216. data/{lib → old}/wukong/streamer/set_reducer.rb +0 -0
  217. data/{lib → old}/wukong/streamer/struct_streamer.rb +0 -0
  218. data/{lib → old}/wukong/streamer/summing_reducer.rb +0 -0
  219. data/{lib → old}/wukong/streamer/uniq_by_last_reducer.rb +0 -0
  220. data/{lib → old}/wukong/typed_struct.rb +0 -0
  221. data/spec/away/encoding_spec.rb +32 -0
  222. data/spec/away/exe_spec.rb +20 -0
  223. data/spec/away/flow_spec.rb +82 -0
  224. data/spec/away/graph_spec.rb +6 -0
  225. data/spec/away/job_spec.rb +15 -0
  226. data/spec/away/rake_compat_spec.rb +9 -0
  227. data/spec/away/script_spec.rb +81 -0
  228. data/spec/examples/dataflow/parse_apache_logs_spec.rb +8 -0
  229. data/spec/examples/dataflow/parsing_spec.rb +13 -0
  230. data/spec/examples/dataflow/simple_spec.rb +8 -0
  231. data/spec/examples/dataflow/telegram_spec.rb +43 -0
  232. data/spec/examples/graph/minimum_spanning_tree_spec.rb +35 -0
  233. data/spec/examples/text/pig_latin_spec.rb +21 -0
  234. data/spec/examples/workflow/cherry_pie_spec.rb +6 -0
  235. data/spec/hanuman/graph_spec.rb +17 -0
  236. data/spec/hanuman/graphviz_spec.rb +29 -0
  237. data/spec/hanuman/slot_spec.rb +2 -0
  238. data/spec/hanuman/stage_spec.rb +12 -0
  239. data/spec/spec_helper.rb +24 -6
  240. data/spec/support/examples_helper.rb +10 -0
  241. data/spec/support/hanuman_test_helpers.rb +90 -0
  242. data/spec/support/streamer_test_helpers.rb +6 -0
  243. data/spec/support/wukong_test_helpers.rb +43 -0
  244. data/spec/support/wukong_widget_helpers.rb +66 -0
  245. data/spec/wukong/dataflow_spec.rb +65 -0
  246. data/spec/wukong/local_runner_spec.rb +31 -0
  247. data/spec/wukong/model/faker_spec.rb +131 -0
  248. data/spec/wukong/processor_spec.rb +109 -0
  249. data/spec/wukong/runner_spec.rb +12 -0
  250. data/spec/wukong/widget/filter_spec.rb +99 -0
  251. data/spec/wukong/widget/sink_spec.rb +19 -0
  252. data/spec/wukong/widget/source_spec.rb +41 -0
  253. data/spec/wukong/widget/stringifier_spec.rb +51 -0
  254. data/spec/wukong/workflow/command_spec.rb +5 -0
  255. data/wukong.gemspec +36 -277
  256. metadata +421 -165
  257. data/CHANGELOG.textile +0 -106
  258. data/INSTALL.textile +0 -89
  259. data/README.textile +0 -274
  260. data/TODO.textile +0 -11
  261. data/examples/ignore_me/counting.rb +0 -55
  262. data/examples/ignore_me/grouper.rb +0 -71
  263. data/old/cassandra_streaming/berlitz_for_cassandra.textile +0 -22
  264. data/old/cassandra_streaming/client_interface_notes.textile +0 -200
  265. data/old/cassandra_streaming/client_schema.textile +0 -318
  266. data/old/cassandra_streaming/tuning.textile +0 -73
  267. data/spec/wukong/encoding_spec.rb +0 -36
  268. data/spec/wukong/script_spec.rb +0 -80
metadata CHANGED
@@ -1,52 +1,75 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wukong
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
5
- prerelease:
4
+ version: 3.0.0.pre
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Philip (flip) Kromer
9
+ - Travis Dempsey
9
10
  autorequire:
10
11
  bindir: bin
11
12
  cert_chain: []
12
- date: 2011-11-04 00:00:00.000000000Z
13
+ date: 2012-09-20 00:00:00.000000000Z
13
14
  dependencies:
14
15
  - !ruby/object:Gem::Dependency
15
- name: rspec
16
- requirement: &2152107000 !ruby/object:Gem::Requirement
16
+ name: bundler
17
+ requirement: &2162964540 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ~>
21
+ - !ruby/object:Gem::Version
22
+ version: '1.1'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2162964540
26
+ - !ruby/object:Gem::Dependency
27
+ name: configliere
28
+ requirement: &2162964020 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '0.4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2162964020
37
+ - !ruby/object:Gem::Dependency
38
+ name: multi_json
39
+ requirement: &2162963500 !ruby/object:Gem::Requirement
17
40
  none: false
18
41
  requirements:
19
42
  - - ! '>='
20
43
  - !ruby/object:Gem::Version
21
- version: 1.2.9
22
- type: :development
44
+ version: 1.3.6
45
+ type: :runtime
23
46
  prerelease: false
24
- version_requirements: *2152107000
47
+ version_requirements: *2162963500
25
48
  - !ruby/object:Gem::Dependency
26
- name: yard
27
- requirement: &2152105540 !ruby/object:Gem::Requirement
49
+ name: vayacondios-client
50
+ requirement: &2162962920 !ruby/object:Gem::Requirement
28
51
  none: false
29
52
  requirements:
30
53
  - - ! '>='
31
54
  - !ruby/object:Gem::Version
32
- version: '0'
33
- type: :development
55
+ version: 0.0.3
56
+ type: :runtime
34
57
  prerelease: false
35
- version_requirements: *2152105540
58
+ version_requirements: *2162962920
36
59
  - !ruby/object:Gem::Dependency
37
- name: addressable
38
- requirement: &2152104640 !ruby/object:Gem::Requirement
60
+ name: gorillib
61
+ requirement: &2162962320 !ruby/object:Gem::Requirement
39
62
  none: false
40
63
  requirements:
41
64
  - - ! '>='
42
65
  - !ruby/object:Gem::Version
43
- version: '0'
66
+ version: 0.4.2
44
67
  type: :runtime
45
68
  prerelease: false
46
- version_requirements: *2152104640
69
+ version_requirements: *2162962320
47
70
  - !ruby/object:Gem::Dependency
48
- name: extlib
49
- requirement: &2152103820 !ruby/object:Gem::Requirement
71
+ name: forgery
72
+ requirement: &2162961820 !ruby/object:Gem::Requirement
50
73
  none: false
51
74
  requirements:
52
75
  - - ! '>='
@@ -54,10 +77,10 @@ dependencies:
54
77
  version: '0'
55
78
  type: :runtime
56
79
  prerelease: false
57
- version_requirements: *2152103820
80
+ version_requirements: *2162961820
58
81
  - !ruby/object:Gem::Dependency
59
- name: htmlentities
60
- requirement: &2152102940 !ruby/object:Gem::Requirement
82
+ name: uuidtools
83
+ requirement: &2162961220 !ruby/object:Gem::Requirement
61
84
  none: false
62
85
  requirements:
63
86
  - - ! '>='
@@ -65,41 +88,120 @@ dependencies:
65
88
  version: '0'
66
89
  type: :runtime
67
90
  prerelease: false
68
- version_requirements: *2152102940
91
+ version_requirements: *2162961220
69
92
  - !ruby/object:Gem::Dependency
70
- name: configliere
71
- requirement: &2152101420 !ruby/object:Gem::Requirement
93
+ name: rake
94
+ requirement: &2162960580 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0.9'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: *2162960580
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec
105
+ requirement: &2162959980 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '2.8'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: *2162959980
114
+ - !ruby/object:Gem::Dependency
115
+ name: guard
116
+ requirement: &2162959400 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '1.0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: *2162959400
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-rspec
127
+ requirement: &2162958780 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0.6'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: *2162958780
136
+ - !ruby/object:Gem::Dependency
137
+ name: simplecov
138
+ requirement: &2162958140 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0.5'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: *2162958140
147
+ - !ruby/object:Gem::Dependency
148
+ name: pry
149
+ requirement: &2162957700 !ruby/object:Gem::Requirement
72
150
  none: false
73
151
  requirements:
74
152
  - - ! '>='
75
153
  - !ruby/object:Gem::Version
76
154
  version: '0'
77
- type: :runtime
155
+ type: :development
78
156
  prerelease: false
79
- version_requirements: *2152101420
157
+ version_requirements: *2162957700
158
+ - !ruby/object:Gem::Dependency
159
+ name: yard
160
+ requirement: &2162957140 !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: *2162957140
169
+ - !ruby/object:Gem::Dependency
170
+ name: redcarpet
171
+ requirement: &2162956680 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: *2162956680
80
180
  description: ! " Treat your dataset like a:\n\n * stream of lines when it's
81
181
  efficient to process by lines\n * stream of field arrays when it's efficient
82
182
  to deal directly with fields\n * stream of lightweight objects when it's efficient
83
183
  to deal with objects\n\n Wukong is friends with Hadoop the elephant, Pig the query
84
184
  language, and the cat on your command line.\n"
85
- email: flip@infochimps.org
86
- executables:
87
- - hdp-du
88
- - hdp-sync
89
- - hdp-wc
90
- - wu-lign
91
- - wu-sum
92
- - hdp-parts_to_keys.rb
185
+ email:
186
+ executables: []
93
187
  extensions: []
94
- extra_rdoc_files:
95
- - LICENSE.textile
96
- - README.textile
188
+ extra_rdoc_files: []
97
189
  files:
98
- - CHANGELOG.textile
99
- - INSTALL.textile
190
+ - .document
191
+ - .gitignore
192
+ - .gitmodules
193
+ - .rspec
194
+ - .travis.yml
195
+ - .yardopts
196
+ - CHANGELOG.md
197
+ - Gemfile
198
+ - Guardfile
100
199
  - LICENSE.textile
101
- - README.textile
102
- - TODO.textile
200
+ - NOTES-travis.md
201
+ - README.md
202
+ - Rakefile
203
+ - TODO.md
204
+ - VERSION
103
205
  - bin/cutc
104
206
  - bin/cuttab
105
207
  - bin/greptrue
@@ -133,10 +235,25 @@ files:
133
235
  - bin/uniqc
134
236
  - bin/wu-date
135
237
  - bin/wu-datetime
238
+ - bin/wu-flow
136
239
  - bin/wu-hist
137
240
  - bin/wu-lign
241
+ - bin/wu-map
138
242
  - bin/wu-plus
243
+ - bin/wu-red
139
244
  - bin/wu-sum
245
+ - bin/wukong
246
+ - data/CREDITS.md
247
+ - data/graph/airfares.tsv
248
+ - data/log/sample_apache_log.log
249
+ - data/text/gift_of_the_magi.txt
250
+ - data/text/jabberwocky.txt
251
+ - data/text/rectification_of_names.txt
252
+ - data/twitter/a_atsigns_b.tsv
253
+ - data/twitter/a_follows_b.tsv
254
+ - data/twitter/tweet.tsv
255
+ - data/twitter/twitter_user.tsv
256
+ - data/wikipedia/dbpedia-sentences.tsv
140
257
  - docpages/INSTALL.textile
141
258
  - docpages/LICENSE.textile
142
259
  - docpages/README-elastic_map_reduce.textile
@@ -200,131 +317,234 @@ files:
200
317
  - docpages/tutorial.textile
201
318
  - docpages/usage.textile
202
319
  - docpages/wutils.textile
203
- - examples/README.txt
204
- - examples/contrib/jeans/README.markdown
205
- - examples/contrib/jeans/data/normalized_sizes
206
- - examples/contrib/jeans/data/orders.tsv
207
- - examples/contrib/jeans/data/sizes
208
- - examples/contrib/jeans/normalize.rb
209
- - examples/contrib/jeans/sizes.rb
210
- - examples/corpus/bucket_counter.rb
211
- - examples/corpus/dbpedia_abstract_to_sentences.rb
212
- - examples/corpus/sentence_bigrams.rb
213
- - examples/corpus/sentence_coocurrence.rb
214
- - examples/corpus/words_to_bigrams.rb
215
- - examples/emr/README.textile
216
- - examples/emr/dot_wukong_dir/credentials.json
217
- - examples/emr/dot_wukong_dir/emr.yaml
218
- - examples/emr/dot_wukong_dir/emr_bootstrap.sh
219
- - examples/emr/elastic_mapreduce_example.rb
220
- - examples/ignore_me/counting.rb
221
- - examples/ignore_me/grouper.rb
222
- - examples/network_graph/adjacency_list.rb
223
- - examples/network_graph/breadth_first_search.rb
224
- - examples/network_graph/gen_2paths.rb
225
- - examples/network_graph/gen_multi_edge.rb
226
- - examples/network_graph/gen_symmetric_links.rb
227
- - examples/pagerank/README.textile
228
- - examples/pagerank/gen_initial_pagerank_graph.pig
229
- - examples/pagerank/pagerank.rb
230
- - examples/pagerank/pagerank_initialize.rb
231
- - examples/pagerank/run_pagerank.sh
232
- - examples/sample_records.rb
233
- - examples/server_logs/apache_log_parser.rb
234
- - examples/server_logs/breadcrumbs.rb
235
- - examples/server_logs/logline.rb
236
- - examples/server_logs/nook.rb
237
- - examples/server_logs/nook/faraday_dummy_adapter.rb
238
- - examples/server_logs/user_agent.rb
239
- - examples/simple_word_count.rb
240
- - examples/size.rb
241
- - examples/stats/avg_value_frequency.rb
242
- - examples/stats/binning_percentile_estimator.rb
243
- - examples/stats/data/avg_value_frequency.tsv
244
- - examples/stats/rank_and_bin.rb
245
- - examples/stupidly_simple_filter.rb
320
+ - examples/dataflow.rb
321
+ - examples/dataflow/apache_log_line.rb
322
+ - examples/dataflow/complex.rb
323
+ - examples/dataflow/donuts.rb
324
+ - examples/dataflow/parse_apache_logs.rb
325
+ - examples/dataflow/pig_latinizer.rb
326
+ - examples/dataflow/simple.rb
327
+ - examples/dataflow/telegram.rb
328
+ - examples/examples_helper.rb
329
+ - examples/graph/minimum_spanning_tree.rb
330
+ - examples/graph/union_find.rb
331
+ - examples/text/latinize_text.rb
332
+ - examples/text/pig_latin.rb
333
+ - examples/tiny_count.rb
334
+ - examples/tiny_count/jabberwocky_output.tsv
335
+ - examples/twitter/locations.rb
336
+ - examples/twitter/models.rb
337
+ - examples/twitter/pt1-fiddle.pig
338
+ - examples/twitter/pt2-simple_parse.pig
339
+ - examples/twitter/pt2-simple_parse.rb
340
+ - examples/twitter/pt3-join_on_zips.pig
341
+ - examples/twitter/pt4-strong_links.rb
342
+ - examples/twitter/pt5-lnglat_and_strong_links.pig
343
+ - examples/twitter/states.tsv
246
344
  - examples/word_count.rb
345
+ - examples/workflow/cherry_pie.md
346
+ - examples/workflow/cherry_pie.rb
347
+ - examples/workflow/fiddle.rb
348
+ - examples/workflow/package_gem.rb
349
+ - lib/away/escapement.rb
350
+ - lib/away/exe.rb
351
+ - lib/away/experimental.rb
352
+ - lib/away/from_file.rb
353
+ - lib/away/job.rb
354
+ - lib/away/job/rake_compat.rb
355
+ - lib/away/registry.rb
356
+ - lib/away/runner.rb
357
+ - lib/away/runner/execute.rb
358
+ - lib/away/script.rb
359
+ - lib/away/script/hadoop_command.rb
360
+ - lib/away/source/file_list_source.rb
361
+ - lib/away/source/looper.rb
362
+ - lib/away/task.rb
363
+ - lib/hanuman.rb
364
+ - lib/hanuman/action.rb
365
+ - lib/hanuman/chain.rb
366
+ - lib/hanuman/graph.rb
367
+ - lib/hanuman/graphviz.rb
368
+ - lib/hanuman/graphvizzer.rb
369
+ - lib/hanuman/resource.rb
370
+ - lib/hanuman/slot.rb
371
+ - lib/hanuman/slottable.rb
372
+ - lib/hanuman/stage.rb
247
373
  - lib/wukong.rb
248
- - lib/wukong/and_pig.rb
249
374
  - lib/wukong/bad_record.rb
250
- - lib/wukong/datatypes.rb
251
- - lib/wukong/datatypes/enum.rb
252
- - lib/wukong/datatypes/fake_types.rb
253
- - lib/wukong/decorator.rb
254
- - lib/wukong/encoding.rb
255
- - lib/wukong/encoding/asciize.rb
256
- - lib/wukong/extensions.rb
257
- - lib/wukong/extensions/array.rb
258
- - lib/wukong/extensions/blank.rb
259
- - lib/wukong/extensions/class.rb
260
- - lib/wukong/extensions/date_time.rb
261
- - lib/wukong/extensions/emittable.rb
262
- - lib/wukong/extensions/enumerable.rb
263
- - lib/wukong/extensions/hash.rb
264
- - lib/wukong/extensions/hash_keys.rb
265
- - lib/wukong/extensions/hash_like.rb
266
- - lib/wukong/extensions/hashlike_class.rb
267
- - lib/wukong/extensions/module.rb
268
- - lib/wukong/extensions/pathname.rb
269
- - lib/wukong/extensions/string.rb
270
- - lib/wukong/extensions/struct.rb
271
- - lib/wukong/extensions/symbol.rb
272
- - lib/wukong/filename_pattern.rb
273
- - lib/wukong/logger.rb
274
- - lib/wukong/periodic_monitor.rb
275
- - lib/wukong/schema.rb
276
- - lib/wukong/script.rb
277
- - lib/wukong/script/avro_command.rb
278
- - lib/wukong/script/cassandra_loader_script.rb
279
- - lib/wukong/script/emr_command.rb
280
- - lib/wukong/script/hadoop_command.rb
281
- - lib/wukong/script/local_command.rb
282
- - lib/wukong/store.rb
283
- - lib/wukong/store/base.rb
284
- - lib/wukong/store/cassandra.rb
285
- - lib/wukong/store/cassandra/streaming.rb
286
- - lib/wukong/store/cassandra/struct_loader.rb
287
- - lib/wukong/store/cassandra_model.rb
288
- - lib/wukong/store/chh_chunked_flat_file_store.rb
289
- - lib/wukong/store/chunked_flat_file_store.rb
290
- - lib/wukong/store/conditional_store.rb
291
- - lib/wukong/store/factory.rb
292
- - lib/wukong/store/flat_file_store.rb
293
- - lib/wukong/store/key_store.rb
294
- - lib/wukong/store/null_store.rb
295
- - lib/wukong/store/read_thru_store.rb
296
- - lib/wukong/store/tokyo_tdb_key_store.rb
297
- - lib/wukong/store/tyrant_rdb_key_store.rb
298
- - lib/wukong/store/tyrant_tdb_key_store.rb
299
- - lib/wukong/streamer.rb
300
- - lib/wukong/streamer/accumulating_reducer.rb
301
- - lib/wukong/streamer/base.rb
302
- - lib/wukong/streamer/counting_reducer.rb
303
- - lib/wukong/streamer/filter.rb
304
- - lib/wukong/streamer/line_streamer.rb
305
- - lib/wukong/streamer/list_reducer.rb
306
- - lib/wukong/streamer/rank_and_bin_reducer.rb
307
- - lib/wukong/streamer/record_streamer.rb
308
- - lib/wukong/streamer/reducer.rb
309
- - lib/wukong/streamer/set_reducer.rb
310
- - lib/wukong/streamer/struct_streamer.rb
311
- - lib/wukong/streamer/summing_reducer.rb
312
- - lib/wukong/streamer/uniq_by_last_reducer.rb
313
- - lib/wukong/typed_struct.rb
314
- - old/cassandra_streaming/berlitz_for_cassandra.textile
315
- - old/cassandra_streaming/client_interface_notes.textile
316
- - old/cassandra_streaming/client_schema.textile
317
- - old/cassandra_streaming/tuning.textile
318
- - spec/data/a_atsigns_b.tsv
319
- - spec/data/a_follows_b.tsv
320
- - spec/data/tweet.tsv
321
- - spec/data/twitter_user.tsv
375
+ - lib/wukong/dataflow.rb
376
+ - lib/wukong/event.rb
377
+ - lib/wukong/local_runner.rb
378
+ - lib/wukong/mapred.rb
379
+ - lib/wukong/model/faker.rb
380
+ - lib/wukong/processor.rb
381
+ - lib/wukong/settings.rb
382
+ - lib/wukong/universe.rb
383
+ - lib/wukong/version.rb
384
+ - lib/wukong/widget/filter.rb
385
+ - lib/wukong/widget/gibberish.rb
386
+ - lib/wukong/widget/monitor.rb
387
+ - lib/wukong/widget/reducer.rb
388
+ - lib/wukong/widget/sink.rb
389
+ - lib/wukong/widget/source.rb
390
+ - lib/wukong/widget/stringifier.rb
391
+ - lib/wukong/workflow.rb
392
+ - lib/wukong/workflow/command.rb
393
+ - old/config/emr-example.yaml
394
+ - old/examples/README.txt
395
+ - old/examples/contrib/jeans/README.markdown
396
+ - old/examples/contrib/jeans/data/normalized_sizes
397
+ - old/examples/contrib/jeans/data/orders.tsv
398
+ - old/examples/contrib/jeans/data/sizes
399
+ - old/examples/contrib/jeans/normalize.rb
400
+ - old/examples/contrib/jeans/sizes.rb
401
+ - old/examples/corpus/bnc_word_freq.rb
402
+ - old/examples/corpus/bucket_counter.rb
403
+ - old/examples/corpus/dbpedia_abstract_to_sentences.rb
404
+ - old/examples/corpus/sentence_bigrams.rb
405
+ - old/examples/corpus/sentence_coocurrence.rb
406
+ - old/examples/corpus/stopwords.rb
407
+ - old/examples/corpus/words_to_bigrams.rb
408
+ - old/examples/emr/README.textile
409
+ - old/examples/emr/dot_wukong_dir/credentials.json
410
+ - old/examples/emr/dot_wukong_dir/emr.yaml
411
+ - old/examples/emr/dot_wukong_dir/emr_bootstrap.sh
412
+ - old/examples/emr/elastic_mapreduce_example.rb
413
+ - old/examples/network_graph/adjacency_list.rb
414
+ - old/examples/network_graph/breadth_first_search.rb
415
+ - old/examples/network_graph/gen_2paths.rb
416
+ - old/examples/network_graph/gen_multi_edge.rb
417
+ - old/examples/network_graph/gen_symmetric_links.rb
418
+ - old/examples/pagerank/README.textile
419
+ - old/examples/pagerank/gen_initial_pagerank_graph.pig
420
+ - old/examples/pagerank/pagerank.rb
421
+ - old/examples/pagerank/pagerank_initialize.rb
422
+ - old/examples/pagerank/run_pagerank.sh
423
+ - old/examples/sample_records.rb
424
+ - old/examples/server_logs/apache_log_parser.rb
425
+ - old/examples/server_logs/breadcrumbs.rb
426
+ - old/examples/server_logs/nook.rb
427
+ - old/examples/server_logs/nook/faraday_dummy_adapter.rb
428
+ - old/examples/server_logs/user_agent.rb
429
+ - old/examples/simple_word_count.rb
430
+ - old/examples/size.rb
431
+ - old/examples/stats/avg_value_frequency.rb
432
+ - old/examples/stats/binning_percentile_estimator.rb
433
+ - old/examples/stats/data/avg_value_frequency.tsv
434
+ - old/examples/stats/rank_and_bin.rb
435
+ - old/examples/stupidly_simple_filter.rb
436
+ - old/examples/word_count.rb
437
+ - old/graph/graphviz_builder.rb
438
+ - old/graph_easy/Attributes.pm
439
+ - old/graph_easy/Graphviz.pm
440
+ - old/wukong.rb
441
+ - old/wukong/and_pig.rb
442
+ - old/wukong/bad_record.rb
443
+ - old/wukong/datatypes.rb
444
+ - old/wukong/datatypes/enum.rb
445
+ - old/wukong/datatypes/fake_types.rb
446
+ - old/wukong/decorator.rb
447
+ - old/wukong/encoding/asciize.rb
448
+ - old/wukong/extensions.rb
449
+ - old/wukong/extensions/array.rb
450
+ - old/wukong/extensions/blank.rb
451
+ - old/wukong/extensions/class.rb
452
+ - old/wukong/extensions/date_time.rb
453
+ - old/wukong/extensions/emittable.rb
454
+ - old/wukong/extensions/enumerable.rb
455
+ - old/wukong/extensions/hash.rb
456
+ - old/wukong/extensions/hash_keys.rb
457
+ - old/wukong/extensions/hash_like.rb
458
+ - old/wukong/extensions/hashlike_class.rb
459
+ - old/wukong/extensions/module.rb
460
+ - old/wukong/extensions/pathname.rb
461
+ - old/wukong/extensions/string.rb
462
+ - old/wukong/extensions/struct.rb
463
+ - old/wukong/extensions/symbol.rb
464
+ - old/wukong/filename_pattern.rb
465
+ - old/wukong/helper.rb
466
+ - old/wukong/helper/stopwords.rb
467
+ - old/wukong/helper/tokenize.rb
468
+ - old/wukong/logger.rb
469
+ - old/wukong/periodic_monitor.rb
470
+ - old/wukong/schema.rb
471
+ - old/wukong/script.rb
472
+ - old/wukong/script/avro_command.rb
473
+ - old/wukong/script/cassandra_loader_script.rb
474
+ - old/wukong/script/emr_command.rb
475
+ - old/wukong/script/hadoop_command.rb
476
+ - old/wukong/script/local_command.rb
477
+ - old/wukong/store.rb
478
+ - old/wukong/store/base.rb
479
+ - old/wukong/store/cassandra.rb
480
+ - old/wukong/store/cassandra/streaming.rb
481
+ - old/wukong/store/cassandra/struct_loader.rb
482
+ - old/wukong/store/cassandra_model.rb
483
+ - old/wukong/store/chh_chunked_flat_file_store.rb
484
+ - old/wukong/store/chunked_flat_file_store.rb
485
+ - old/wukong/store/conditional_store.rb
486
+ - old/wukong/store/factory.rb
487
+ - old/wukong/store/flat_file_store.rb
488
+ - old/wukong/store/key_store.rb
489
+ - old/wukong/store/null_store.rb
490
+ - old/wukong/store/read_thru_store.rb
491
+ - old/wukong/store/tokyo_tdb_key_store.rb
492
+ - old/wukong/store/tyrant_rdb_key_store.rb
493
+ - old/wukong/store/tyrant_tdb_key_store.rb
494
+ - old/wukong/streamer.rb
495
+ - old/wukong/streamer/accumulating_reducer.rb
496
+ - old/wukong/streamer/base.rb
497
+ - old/wukong/streamer/counting_reducer.rb
498
+ - old/wukong/streamer/filter.rb
499
+ - old/wukong/streamer/instance_streamer.rb
500
+ - old/wukong/streamer/json_streamer.rb
501
+ - old/wukong/streamer/line_streamer.rb
502
+ - old/wukong/streamer/list_reducer.rb
503
+ - old/wukong/streamer/rank_and_bin_reducer.rb
504
+ - old/wukong/streamer/record_streamer.rb
505
+ - old/wukong/streamer/reducer.rb
506
+ - old/wukong/streamer/set_reducer.rb
507
+ - old/wukong/streamer/struct_streamer.rb
508
+ - old/wukong/streamer/summing_reducer.rb
509
+ - old/wukong/streamer/uniq_by_last_reducer.rb
510
+ - old/wukong/typed_struct.rb
511
+ - spec/away/encoding_spec.rb
512
+ - spec/away/exe_spec.rb
513
+ - spec/away/flow_spec.rb
514
+ - spec/away/graph_spec.rb
515
+ - spec/away/job_spec.rb
516
+ - spec/away/rake_compat_spec.rb
517
+ - spec/away/script_spec.rb
518
+ - spec/examples/dataflow/parse_apache_logs_spec.rb
519
+ - spec/examples/dataflow/parsing_spec.rb
520
+ - spec/examples/dataflow/simple_spec.rb
521
+ - spec/examples/dataflow/telegram_spec.rb
522
+ - spec/examples/graph/minimum_spanning_tree_spec.rb
523
+ - spec/examples/text/pig_latin_spec.rb
524
+ - spec/examples/workflow/cherry_pie_spec.rb
525
+ - spec/hanuman/graph_spec.rb
526
+ - spec/hanuman/graphviz_spec.rb
527
+ - spec/hanuman/slot_spec.rb
528
+ - spec/hanuman/stage_spec.rb
322
529
  - spec/spec.opts
323
530
  - spec/spec_helper.rb
324
- - spec/wukong/encoding_spec.rb
325
- - spec/wukong/script_spec.rb
531
+ - spec/support/examples_helper.rb
532
+ - spec/support/hanuman_test_helpers.rb
533
+ - spec/support/streamer_test_helpers.rb
534
+ - spec/support/wukong_test_helpers.rb
535
+ - spec/support/wukong_widget_helpers.rb
536
+ - spec/wukong/dataflow_spec.rb
537
+ - spec/wukong/local_runner_spec.rb
538
+ - spec/wukong/model/faker_spec.rb
539
+ - spec/wukong/processor_spec.rb
540
+ - spec/wukong/runner_spec.rb
541
+ - spec/wukong/widget/filter_spec.rb
542
+ - spec/wukong/widget/sink_spec.rb
543
+ - spec/wukong/widget/source_spec.rb
544
+ - spec/wukong/widget/stringifier_spec.rb
545
+ - spec/wukong/workflow/command_spec.rb
326
546
  - wukong.gemspec
327
- homepage: http://mrflip.github.com/wukong
547
+ homepage: https://github.com/infochimps-labs/wukong
328
548
  licenses: []
329
549
  post_install_message:
330
550
  rdoc_options: []
@@ -339,14 +559,50 @@ required_ruby_version: !ruby/object:Gem::Requirement
339
559
  required_rubygems_version: !ruby/object:Gem::Requirement
340
560
  none: false
341
561
  requirements:
342
- - - ! '>='
562
+ - - ! '>'
343
563
  - !ruby/object:Gem::Version
344
- version: '0'
564
+ version: 1.3.1
345
565
  requirements: []
346
566
  rubyforge_project:
347
- rubygems_version: 1.8.10
567
+ rubygems_version: 1.8.15
348
568
  signing_key:
349
569
  specification_version: 3
350
570
  summary: Hadoop Streaming for Ruby. Wukong makes Hadoop so easy a chimpanzee can use
351
571
  it, yet handles terabyte-scale computation with ease.
352
- test_files: []
572
+ test_files:
573
+ - spec/away/encoding_spec.rb
574
+ - spec/away/exe_spec.rb
575
+ - spec/away/flow_spec.rb
576
+ - spec/away/graph_spec.rb
577
+ - spec/away/job_spec.rb
578
+ - spec/away/rake_compat_spec.rb
579
+ - spec/away/script_spec.rb
580
+ - spec/examples/dataflow/parse_apache_logs_spec.rb
581
+ - spec/examples/dataflow/parsing_spec.rb
582
+ - spec/examples/dataflow/simple_spec.rb
583
+ - spec/examples/dataflow/telegram_spec.rb
584
+ - spec/examples/graph/minimum_spanning_tree_spec.rb
585
+ - spec/examples/text/pig_latin_spec.rb
586
+ - spec/examples/workflow/cherry_pie_spec.rb
587
+ - spec/hanuman/graph_spec.rb
588
+ - spec/hanuman/graphviz_spec.rb
589
+ - spec/hanuman/slot_spec.rb
590
+ - spec/hanuman/stage_spec.rb
591
+ - spec/spec.opts
592
+ - spec/spec_helper.rb
593
+ - spec/support/examples_helper.rb
594
+ - spec/support/hanuman_test_helpers.rb
595
+ - spec/support/streamer_test_helpers.rb
596
+ - spec/support/wukong_test_helpers.rb
597
+ - spec/support/wukong_widget_helpers.rb
598
+ - spec/wukong/dataflow_spec.rb
599
+ - spec/wukong/local_runner_spec.rb
600
+ - spec/wukong/model/faker_spec.rb
601
+ - spec/wukong/processor_spec.rb
602
+ - spec/wukong/runner_spec.rb
603
+ - spec/wukong/widget/filter_spec.rb
604
+ - spec/wukong/widget/sink_spec.rb
605
+ - spec/wukong/widget/source_spec.rb
606
+ - spec/wukong/widget/stringifier_spec.rb
607
+ - spec/wukong/workflow/command_spec.rb
608
+ has_rdoc: