alf 0.10.0 → 0.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. data/CHANGELOG.md +22 -0
  2. data/Gemfile +3 -3
  3. data/Gemfile.lock +9 -10
  4. data/alf.gemspec +3 -3
  5. data/alf.noespec +5 -4
  6. data/doc/commands/show.md +1 -1
  7. data/doc/operators/relational/heading.md +20 -0
  8. data/doc/operators/relational/join.md +4 -3
  9. data/doc/operators/relational/matching.md +7 -3
  10. data/doc/operators/relational/restrict.md +2 -2
  11. data/examples/hitradio/compact.rb +48 -0
  12. data/examples/hitradio/compare1.rb +28 -0
  13. data/examples/hitradio/gz_reader.rb +23 -0
  14. data/examples/hitradio/hitradio-1.alf +1 -0
  15. data/examples/hitradio/hitradio.log +25080 -0
  16. data/examples/hitradio/hitradio.mar +25081 -0
  17. data/examples/hitradio/hitradio.mar.gz +0 -0
  18. data/examples/hitradio/hitradio.rash +25080 -0
  19. data/examples/hitradio/mar_reader.rb +18 -0
  20. data/lib/alf/aggregator/aggregators.rb +28 -0
  21. data/lib/alf/aggregator/aggregators.rbc +2640 -0
  22. data/lib/alf/aggregator/base.rbc +1055 -0
  23. data/lib/alf/aggregator/class_methods.rb +1 -1
  24. data/lib/alf/aggregator/class_methods.rbc +830 -0
  25. data/lib/alf/buffer/sorted.rbc +715 -0
  26. data/lib/alf/command/class_methods.rbc +453 -0
  27. data/lib/alf/command/doc_manager.rbc +1604 -0
  28. data/lib/alf/command/exec.rbc +408 -0
  29. data/lib/alf/command/help.rbc +764 -0
  30. data/lib/alf/command/main.rb +37 -5
  31. data/lib/alf/command/main.rbc +3612 -0
  32. data/lib/alf/command/show.rb +37 -5
  33. data/lib/alf/command/show.rbc +1327 -0
  34. data/lib/alf/environment/base.rbc +459 -0
  35. data/lib/alf/environment/class_methods.rbc +1110 -0
  36. data/lib/alf/environment/explicit.rb +2 -2
  37. data/lib/alf/environment/explicit.rbc +601 -0
  38. data/lib/alf/environment/folder.rb +2 -2
  39. data/lib/alf/environment/folder.rbc +942 -0
  40. data/lib/alf/errors.rb +4 -0
  41. data/lib/alf/errors.rbc +155 -0
  42. data/lib/alf/extra/csv.rb +5 -2
  43. data/lib/alf/extra/csv.rbc +2021 -0
  44. data/lib/alf/extra/logs.rbc +1957 -0
  45. data/lib/alf/extra/sequel.rbc +1417 -0
  46. data/lib/alf/extra/yaml.rbc +435 -0
  47. data/lib/alf/extra.rbc +101 -0
  48. data/lib/alf/iterator/base.rbc +437 -0
  49. data/lib/alf/iterator/class_methods.rbc +518 -0
  50. data/lib/alf/iterator/proxy.rbc +599 -0
  51. data/lib/alf/lispy/instance_methods.rbc +2535 -0
  52. data/lib/alf/loader.rb +2 -1
  53. data/lib/alf/loader.rbc +85 -0
  54. data/lib/alf/operator/base.rbc +860 -0
  55. data/lib/alf/operator/binary.rbc +595 -0
  56. data/lib/alf/operator/cesure.rbc +883 -0
  57. data/lib/alf/operator/class_methods.rbc +1915 -0
  58. data/lib/alf/operator/experimental.rbc +200 -0
  59. data/lib/alf/operator/non_relational/autonum.rbc +587 -0
  60. data/lib/alf/operator/non_relational/clip.rbc +522 -0
  61. data/lib/alf/operator/non_relational/coerce.rbc +596 -0
  62. data/lib/alf/operator/non_relational/compact.rbc +1283 -0
  63. data/lib/alf/operator/non_relational/defaults.rbc +733 -0
  64. data/lib/alf/operator/non_relational/generator.rbc +1015 -0
  65. data/lib/alf/operator/non_relational/sort.rbc +665 -0
  66. data/lib/alf/operator/nullary.rbc +404 -0
  67. data/lib/alf/operator/relational/extend.rbc +616 -0
  68. data/lib/alf/operator/relational/group.rbc +968 -0
  69. data/lib/alf/operator/relational/heading.rb +30 -0
  70. data/lib/alf/operator/relational/heading.rbc +657 -0
  71. data/lib/alf/operator/relational/intersect.rbc +969 -0
  72. data/lib/alf/operator/relational/join.rbc +1708 -0
  73. data/lib/alf/operator/relational/matching.rbc +1047 -0
  74. data/lib/alf/operator/relational/minus.rbc +965 -0
  75. data/lib/alf/operator/relational/not_matching.rbc +1047 -0
  76. data/lib/alf/operator/relational/project.rbc +669 -0
  77. data/lib/alf/operator/relational/quota.rbc +1193 -0
  78. data/lib/alf/operator/relational/rank.rbc +1217 -0
  79. data/lib/alf/operator/relational/rename.rbc +496 -0
  80. data/lib/alf/operator/relational/restrict.rbc +611 -0
  81. data/lib/alf/operator/relational/summarize.rbc +1922 -0
  82. data/lib/alf/operator/relational/ungroup.rbc +643 -0
  83. data/lib/alf/operator/relational/union.rbc +846 -0
  84. data/lib/alf/operator/relational/unwrap.rbc +540 -0
  85. data/lib/alf/operator/relational/wrap.rbc +560 -0
  86. data/lib/alf/operator/shortcut.rbc +809 -0
  87. data/lib/alf/operator/signature.rbc +4640 -0
  88. data/lib/alf/operator/transform.rbc +484 -0
  89. data/lib/alf/operator/unary.rbc +629 -0
  90. data/lib/alf/reader/alf_file.rbc +464 -0
  91. data/lib/alf/reader/base.rbc +1613 -0
  92. data/lib/alf/reader/class_methods.rb +1 -1
  93. data/lib/alf/reader/class_methods.rbc +1099 -0
  94. data/lib/alf/reader/rash.rbc +583 -0
  95. data/lib/alf/relation/class_methods.rbc +674 -0
  96. data/lib/alf/relation/instance_methods.rb +7 -0
  97. data/lib/alf/relation/instance_methods.rbc +2107 -0
  98. data/lib/alf/renderer/base.rbc +936 -0
  99. data/lib/alf/renderer/class_methods.rbc +875 -0
  100. data/lib/alf/renderer/rash.rb +16 -2
  101. data/lib/alf/renderer/rash.rbc +802 -0
  102. data/lib/alf/renderer/text.rb +54 -16
  103. data/lib/alf/renderer/text.rbc +5530 -0
  104. data/lib/alf/tools/coerce.rbc +352 -0
  105. data/lib/alf/tools/miscellaneous.rb +8 -1
  106. data/lib/alf/tools/miscellaneous.rbc +1497 -0
  107. data/lib/alf/tools/to_lispy.rbc +2618 -0
  108. data/lib/alf/tools/to_ruby_literal.rbc +344 -0
  109. data/lib/alf/tools/tuple_handle.rbc +738 -0
  110. data/lib/alf/types/attr_list.rbc +1535 -0
  111. data/lib/alf/types/attr_name.rbc +781 -0
  112. data/lib/alf/types/boolean.rbc +365 -0
  113. data/lib/alf/types/heading.rb +16 -1
  114. data/lib/alf/types/heading.rbc +1778 -0
  115. data/lib/alf/types/ordering.rbc +2228 -0
  116. data/lib/alf/types/renaming.rbc +1064 -0
  117. data/lib/alf/types/summarization.rbc +1394 -0
  118. data/lib/alf/types/tuple_computation.rbc +1061 -0
  119. data/lib/alf/types/tuple_expression.rbc +1016 -0
  120. data/lib/alf/types/tuple_predicate.rbc +1349 -0
  121. data/lib/alf/version.rb +1 -1
  122. data/lib/alf/version.rbc +350 -0
  123. data/lib/alf.rb +13 -5
  124. data/lib/alf.rbc +3884 -0
  125. data/spec/integration/command/alf/alf_help.stdout +8 -6
  126. data/spec/integration/command/help/help_1.stdout +3 -1
  127. data/spec/integration/command/show/show_base.cmd +1 -1
  128. data/spec/integration/command/show/show_base_sort_1.cmd +1 -0
  129. data/spec/integration/command/show/show_base_sort_1.stdout +9 -0
  130. data/spec/integration/command/show/show_base_sort_2.cmd +1 -0
  131. data/spec/integration/command/show/show_base_sort_2.stdout +9 -0
  132. data/spec/integration/command/show/show_ff.cmd +1 -0
  133. data/spec/integration/command/show/show_ff.stdout +10 -0
  134. data/spec/integration/command/show/show_rash_pretty.cmd +1 -0
  135. data/spec/integration/command/show/show_rash_pretty.stdout +30 -0
  136. data/spec/integration/test_alf.rbc +1098 -0
  137. data/spec/integration/test_command.rbc +1832 -0
  138. data/spec/integration/test_examples.rbc +559 -0
  139. data/spec/integration/test_semantics.rbc +991 -0
  140. data/spec/regression/alf_file/test___FILE__.rbc +524 -0
  141. data/spec/regression/heading/test_heading_with_date.rbc +381 -0
  142. data/spec/regression/lispy/test_compile.rbc +404 -0
  143. data/spec/regression/logs/test_path_attribute.rbc +687 -0
  144. data/spec/regression/relation/test_relation_allbut_all.rbc +468 -0
  145. data/spec/regression/relation/test_relation_with_date.rbc +381 -0
  146. data/spec/regression/restrict/test_restrict_with_keywords.rbc +628 -0
  147. data/spec/shared/a_value.rbc +337 -0
  148. data/spec/shared/an_operator_class.rbc +908 -0
  149. data/spec/spec_helper.rbc +453 -0
  150. data/spec/unit/assumptions/test_file.rbc +668 -0
  151. data/spec/unit/assumptions/test_instance_eval.rbc +654 -0
  152. data/spec/unit/assumptions/test_scoping.rbc +755 -0
  153. data/spec/unit/assumptions/test_set.rbc +1928 -0
  154. data/spec/unit/command/doc_manager/test_call.rbc +1537 -0
  155. data/spec/unit/csv/test_reader.rbc +2228 -0
  156. data/spec/unit/csv/test_renderer.rbc +2426 -0
  157. data/spec/unit/environment/test_explicit.rbc +464 -0
  158. data/spec/unit/environment/test_folder.rb +2 -2
  159. data/spec/unit/environment/test_folder.rbc +1304 -0
  160. data/spec/unit/lispy/test_relation.rbc +1477 -0
  161. data/spec/unit/lispy/test_run.rbc +1735 -0
  162. data/spec/unit/lispy/test_tuple.rbc +1686 -0
  163. data/spec/unit/logs/test_reader.rb +6 -4
  164. data/spec/unit/logs/test_reader.rbc +1807 -0
  165. data/spec/unit/operator/non_relational/compact/test_buffer_based.rbc +1127 -0
  166. data/spec/unit/operator/non_relational/compact/test_sort_based.rbc +1127 -0
  167. data/spec/unit/operator/non_relational/test_autonum.rbc +1969 -0
  168. data/spec/unit/operator/non_relational/test_clip.rbc +1850 -0
  169. data/spec/unit/operator/non_relational/test_coerce.rbc +1290 -0
  170. data/spec/unit/operator/non_relational/test_compact.rbc +1382 -0
  171. data/spec/unit/operator/non_relational/test_defaults.rbc +2319 -0
  172. data/spec/unit/operator/non_relational/test_generator.rbc +2361 -0
  173. data/spec/unit/operator/non_relational/test_sort.rbc +2583 -0
  174. data/spec/unit/operator/relational/join/test_hash_based.rbc +2481 -0
  175. data/spec/unit/operator/relational/matching/test_hash_based.rbc +2458 -0
  176. data/spec/unit/operator/relational/not_matching/test_hash_based.rbc +1632 -0
  177. data/spec/unit/operator/relational/summarize/test_hash_based.rbc +1990 -0
  178. data/spec/unit/operator/relational/summarize/test_sort_based.rbc +1990 -0
  179. data/spec/unit/operator/relational/test_extend.rbc +1300 -0
  180. data/spec/unit/operator/relational/test_group.rbc +2142 -0
  181. data/spec/unit/operator/relational/test_intersect.rbc +2069 -0
  182. data/spec/unit/operator/relational/test_join.rbc +1282 -0
  183. data/spec/unit/operator/relational/test_minus.rbc +1995 -0
  184. data/spec/unit/operator/relational/test_project.rbc +2870 -0
  185. data/spec/unit/operator/relational/test_quota.rbc +1788 -0
  186. data/spec/unit/operator/relational/test_rank.rbc +2079 -0
  187. data/spec/unit/operator/relational/test_rename.rbc +1158 -0
  188. data/spec/unit/operator/relational/test_restrict.rbc +2305 -0
  189. data/spec/unit/operator/relational/test_summarize.rbc +2570 -0
  190. data/spec/unit/operator/relational/test_ungroup.rbc +1425 -0
  191. data/spec/unit/operator/relational/test_union.rbc +1089 -0
  192. data/spec/unit/operator/relational/test_unwrap.rbc +1176 -0
  193. data/spec/unit/operator/relational/test_wrap.rbc +1203 -0
  194. data/spec/unit/operator/signature/test_collect_on.rbc +1989 -0
  195. data/spec/unit/operator/signature/test_initialize.rbc +544 -0
  196. data/spec/unit/operator/signature/test_install.rbc +1671 -0
  197. data/spec/unit/operator/signature/test_option_parser.rbc +1348 -0
  198. data/spec/unit/operator/signature/test_parse_args.rbc +1908 -0
  199. data/spec/unit/operator/signature/test_parse_argv.rbc +2878 -0
  200. data/spec/unit/operator/signature/test_to_lispy.rbc +3305 -0
  201. data/spec/unit/operator/signature/test_to_shell.rbc +3327 -0
  202. data/spec/unit/operator/test_non_relational.rbc +571 -0
  203. data/spec/unit/operator/test_relational.rb +2 -1
  204. data/spec/unit/operator/test_relational.rbc +758 -0
  205. data/spec/unit/reader/test_alf_file.rbc +1107 -0
  206. data/spec/unit/reader/test_initialize.rbc +1774 -0
  207. data/spec/unit/reader/test_rash.rbc +1127 -0
  208. data/spec/unit/relation/test_coerce.rbc +2320 -0
  209. data/spec/unit/relation/test_inspect.rbc +502 -0
  210. data/spec/unit/relation/test_relops.rbc +1585 -0
  211. data/spec/unit/relation/test_to_a.rbc +1112 -0
  212. data/spec/unit/renderer/test_initialize.rbc +1766 -0
  213. data/spec/unit/sequel/test_environment.rbc +1723 -0
  214. data/spec/unit/test_aggregator.rb +38 -1
  215. data/spec/unit/test_aggregator.rbc +4358 -0
  216. data/spec/unit/test_environment.rbc +1271 -0
  217. data/spec/unit/test_lispy.rbc +879 -0
  218. data/spec/unit/test_operator.rbc +531 -0
  219. data/spec/unit/test_reader.rb +6 -2
  220. data/spec/unit/test_reader.rbc +1249 -0
  221. data/spec/unit/test_relation.rbc +2588 -0
  222. data/spec/unit/test_renderer.rb +12 -1
  223. data/spec/unit/test_renderer.rbc +2011 -0
  224. data/spec/unit/text/test_cell.rb +1 -0
  225. data/spec/unit/text/test_cell.rbc +1532 -0
  226. data/spec/unit/text/test_row.rbc +847 -0
  227. data/spec/unit/text/test_table.rbc +978 -0
  228. data/spec/unit/tools/test_coalesce.rbc +456 -0
  229. data/spec/unit/tools/test_coerce.rbc +279 -0
  230. data/spec/unit/tools/test_to_lispy.rbc +5711 -0
  231. data/spec/unit/tools/test_to_ruby_literal.rbc +272 -0
  232. data/spec/unit/tools/test_tools.rbc +672 -0
  233. data/spec/unit/tools/test_tuple_handle.rbc +1591 -0
  234. data/spec/unit/tools/test_tuple_heading.rb +20 -0
  235. data/spec/unit/tools/test_tuple_heading.rbc +821 -0
  236. data/spec/unit/tools/test_varargs.rbc +495 -0
  237. data/spec/unit/types/heading/test_union.rb +21 -0
  238. data/spec/unit/types/heading/test_union.rbc +1043 -0
  239. data/spec/unit/types/test_attr_list.rbc +4481 -0
  240. data/spec/unit/types/test_attr_name.rbc +1872 -0
  241. data/spec/unit/types/test_heading.rbc +1735 -0
  242. data/spec/unit/types/test_ordering.rbc +3695 -0
  243. data/spec/unit/types/test_renaming.rbc +2426 -0
  244. data/spec/unit/types/test_summarization.rbc +2538 -0
  245. data/spec/unit/types/test_tuple_computation.rbc +2340 -0
  246. data/spec/unit/types/test_tuple_expression.rbc +2285 -0
  247. data/spec/unit/types/test_tuple_predicate.rbc +3168 -0
  248. data/tasks/gh-pages.rake +1 -1
  249. metadata +529 -125
@@ -0,0 +1,365 @@
1
+ !RBIX
2
+ 11817445442317083511
3
+ x
4
+ M
5
+ 1
6
+ n
7
+ n
8
+ x
9
+ 10
10
+ __script__
11
+ i
12
+ 28
13
+ 99
14
+ 7
15
+ 0
16
+ 65
17
+ 49
18
+ 1
19
+ 2
20
+ 13
21
+ 99
22
+ 12
23
+ 7
24
+ 2
25
+ 12
26
+ 7
27
+ 3
28
+ 12
29
+ 65
30
+ 12
31
+ 49
32
+ 4
33
+ 4
34
+ 15
35
+ 49
36
+ 2
37
+ 0
38
+ 15
39
+ 2
40
+ 11
41
+ I
42
+ 6
43
+ I
44
+ 0
45
+ I
46
+ 0
47
+ I
48
+ 0
49
+ n
50
+ p
51
+ 5
52
+ x
53
+ 3
54
+ Alf
55
+ x
56
+ 11
57
+ open_module
58
+ x
59
+ 15
60
+ __module_init__
61
+ M
62
+ 1
63
+ n
64
+ n
65
+ x
66
+ 3
67
+ Alf
68
+ i
69
+ 28
70
+ 5
71
+ 66
72
+ 99
73
+ 7
74
+ 0
75
+ 65
76
+ 49
77
+ 1
78
+ 2
79
+ 13
80
+ 99
81
+ 12
82
+ 7
83
+ 2
84
+ 12
85
+ 7
86
+ 3
87
+ 12
88
+ 65
89
+ 12
90
+ 49
91
+ 4
92
+ 4
93
+ 15
94
+ 49
95
+ 2
96
+ 0
97
+ 11
98
+ I
99
+ 6
100
+ I
101
+ 0
102
+ I
103
+ 0
104
+ I
105
+ 0
106
+ n
107
+ p
108
+ 5
109
+ x
110
+ 5
111
+ Types
112
+ x
113
+ 11
114
+ open_module
115
+ x
116
+ 15
117
+ __module_init__
118
+ M
119
+ 1
120
+ n
121
+ n
122
+ x
123
+ 5
124
+ Types
125
+ i
126
+ 27
127
+ 5
128
+ 66
129
+ 65
130
+ 7
131
+ 0
132
+ 45
133
+ 1
134
+ 2
135
+ 43
136
+ 0
137
+ 49
138
+ 3
139
+ 2
140
+ 15
141
+ 99
142
+ 7
143
+ 4
144
+ 7
145
+ 5
146
+ 65
147
+ 45
148
+ 0
149
+ 6
150
+ 49
151
+ 7
152
+ 4
153
+ 11
154
+ I
155
+ 5
156
+ I
157
+ 0
158
+ I
159
+ 0
160
+ I
161
+ 0
162
+ n
163
+ p
164
+ 8
165
+ x
166
+ 7
167
+ Boolean
168
+ x
169
+ 6
170
+ Myrrha
171
+ n
172
+ x
173
+ 9
174
+ const_set
175
+ x
176
+ 9
177
+ from_argv
178
+ M
179
+ 1
180
+ n
181
+ n
182
+ x
183
+ 9
184
+ from_argv
185
+ i
186
+ 51
187
+ 23
188
+ 1
189
+ 10
190
+ 14
191
+ 44
192
+ 43
193
+ 0
194
+ 78
195
+ 49
196
+ 1
197
+ 1
198
+ 19
199
+ 1
200
+ 15
201
+ 20
202
+ 0
203
+ 49
204
+ 2
205
+ 0
206
+ 79
207
+ 85
208
+ 3
209
+ 9
210
+ 34
211
+ 5
212
+ 45
213
+ 4
214
+ 5
215
+ 47
216
+ 49
217
+ 6
218
+ 1
219
+ 8
220
+ 35
221
+ 1
222
+ 15
223
+ 45
224
+ 7
225
+ 8
226
+ 20
227
+ 0
228
+ 49
229
+ 9
230
+ 0
231
+ 45
232
+ 10
233
+ 11
234
+ 49
235
+ 12
236
+ 2
237
+ 11
238
+ I
239
+ 5
240
+ I
241
+ 2
242
+ I
243
+ 1
244
+ I
245
+ 2
246
+ n
247
+ p
248
+ 13
249
+ x
250
+ 4
251
+ Hash
252
+ x
253
+ 16
254
+ new_from_literal
255
+ x
256
+ 4
257
+ size
258
+ x
259
+ 1
260
+ >
261
+ x
262
+ 13
263
+ ArgumentError
264
+ n
265
+ x
266
+ 5
267
+ raise
268
+ x
269
+ 5
270
+ Tools
271
+ n
272
+ x
273
+ 5
274
+ first
275
+ x
276
+ 7
277
+ Boolean
278
+ n
279
+ x
280
+ 6
281
+ coerce
282
+ p
283
+ 9
284
+ I
285
+ -1
286
+ I
287
+ 6
288
+ I
289
+ e
290
+ I
291
+ 7
292
+ I
293
+ 23
294
+ I
295
+ 0
296
+ I
297
+ 24
298
+ I
299
+ 8
300
+ I
301
+ 33
302
+ x
303
+ 54
304
+ /home/blambeau/work/devel/alf/lib/alf/types/boolean.rb
305
+ p
306
+ 2
307
+ x
308
+ 4
309
+ argv
310
+ x
311
+ 4
312
+ opts
313
+ n
314
+ x
315
+ 13
316
+ attach_method
317
+ p
318
+ 5
319
+ I
320
+ 2
321
+ I
322
+ 4
323
+ I
324
+ e
325
+ I
326
+ 6
327
+ I
328
+ 1b
329
+ x
330
+ 54
331
+ /home/blambeau/work/devel/alf/lib/alf/types/boolean.rb
332
+ p
333
+ 0
334
+ x
335
+ 13
336
+ attach_method
337
+ p
338
+ 3
339
+ I
340
+ 2
341
+ I
342
+ 2
343
+ I
344
+ 1c
345
+ x
346
+ 54
347
+ /home/blambeau/work/devel/alf/lib/alf/types/boolean.rb
348
+ p
349
+ 0
350
+ x
351
+ 13
352
+ attach_method
353
+ p
354
+ 3
355
+ I
356
+ 0
357
+ I
358
+ 1
359
+ I
360
+ 1c
361
+ x
362
+ 54
363
+ /home/blambeau/work/devel/alf/lib/alf/types/boolean.rb
364
+ p
365
+ 0
@@ -57,6 +57,21 @@ module Alf
57
57
  end
58
58
  alias :size :cardinality
59
59
  alias :count :cardinality
60
+
61
+ #
62
+ # Computes the union of this heading with `other`
63
+ #
64
+ def union(other)
65
+ merged = attributes.merge(other){|k,t1,t2|
66
+ if t1 == t2
67
+ t1
68
+ else
69
+ Object
70
+ end
71
+ }
72
+ Heading.new(merged)
73
+ end
74
+ alias :+ :union
60
75
 
61
76
  #
62
77
  # Returns heading's hash code
@@ -93,4 +108,4 @@ module Alf
93
108
  EMPTY = Heading.new({})
94
109
  end # class Heading
95
110
  end # module Types
96
- end # module Alf
111
+ end # module Alf