alf 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (187) hide show
  1. data/CHANGELOG.md +89 -0
  2. data/Gemfile.lock +6 -1
  3. data/README.md +35 -21
  4. data/TODO.md +0 -5
  5. data/alf.gemspec +2 -0
  6. data/alf.noespec +6 -4
  7. data/bin/alf +9 -13
  8. data/examples/{autonum.alf → operators/autonum.alf} +0 -0
  9. data/examples/{cities.rash → operators/cities.rash} +0 -0
  10. data/examples/{clip.alf → operators/clip.alf} +0 -0
  11. data/examples/{compact.alf → operators/compact.alf} +0 -0
  12. data/examples/{database.alf → operators/database.alf} +1 -1
  13. data/examples/{defaults.alf → operators/defaults.alf} +0 -0
  14. data/examples/{extend.alf → operators/extend.alf} +0 -0
  15. data/examples/{group.alf → operators/group.alf} +0 -0
  16. data/examples/{intersect.alf → operators/intersect.alf} +0 -0
  17. data/examples/{join.alf → operators/join.alf} +0 -0
  18. data/examples/operators/matching.alf +2 -0
  19. data/examples/{minus.alf → operators/minus.alf} +0 -0
  20. data/examples/operators/not_matching.alf +2 -0
  21. data/examples/{nulls.rash → operators/nulls.rash} +0 -0
  22. data/examples/{parts.rash → operators/parts.rash} +0 -0
  23. data/examples/{project.alf → operators/project.alf} +0 -0
  24. data/examples/{pseudo-with.alf → operators/pseudo-with.alf} +0 -0
  25. data/examples/{quota.alf → operators/quota.alf} +0 -0
  26. data/examples/operators/rank.alf +4 -0
  27. data/examples/{rename.alf → operators/rename.alf} +0 -0
  28. data/examples/{restrict.alf → operators/restrict.alf} +0 -0
  29. data/examples/{schema.yaml → operators/schema.yaml} +0 -0
  30. data/examples/{sort.alf → operators/sort.alf} +0 -0
  31. data/examples/{summarize.alf → operators/summarize.alf} +0 -0
  32. data/examples/{suppliers.rash → operators/suppliers.rash} +0 -0
  33. data/examples/{supplies.rash → operators/supplies.rash} +0 -0
  34. data/examples/{ungroup.alf → operators/ungroup.alf} +0 -0
  35. data/examples/{union.alf → operators/union.alf} +0 -0
  36. data/examples/{unwrap.alf → operators/unwrap.alf} +0 -0
  37. data/examples/{wrap.alf → operators/wrap.alf} +0 -0
  38. data/lib/alf.rb +837 -62
  39. data/lib/alf/loader.rb +2 -1
  40. data/lib/alf/text.rb +160 -0
  41. data/lib/alf/version.rb +1 -1
  42. data/lib/alf/yaml.rb +24 -0
  43. data/spec/integration/__database__/group.alf +3 -0
  44. data/spec/integration/__database__/parts.rash +6 -0
  45. data/spec/integration/__database__/suppliers.rash +5 -0
  46. data/spec/integration/__database__/supplies.rash +12 -0
  47. data/spec/integration/command/alf/alf_e.cmd +1 -0
  48. data/spec/integration/command/alf/alf_e.stdout +4 -0
  49. data/spec/integration/command/alf/alf_env.cmd +1 -0
  50. data/spec/integration/command/alf/alf_env.stdout +5 -0
  51. data/spec/integration/command/alf/alf_implicit.alf +1 -0
  52. data/spec/integration/command/alf/alf_implicit_exec.cmd +1 -0
  53. data/spec/integration/command/alf/alf_implicit_exec.stdout +4 -0
  54. data/spec/integration/command/alf/alf_r.cmd +1 -0
  55. data/spec/integration/command/alf/alf_r.stdout +5 -0
  56. data/spec/integration/command/alf/alf_version.cmd +1 -0
  57. data/spec/integration/command/alf/alf_version.stdout +2 -0
  58. data/spec/integration/command/alf/alf_yaml.cmd +1 -0
  59. data/spec/integration/command/alf/alf_yaml.stdout +22 -0
  60. data/spec/integration/command/alf/rel.rash +1 -0
  61. data/spec/integration/command/autonum/autonum_0.cmd +1 -0
  62. data/spec/integration/command/autonum/autonum_0.stdout +9 -0
  63. data/spec/integration/command/autonum/autonum_1.cmd +1 -0
  64. data/spec/integration/command/autonum/autonum_1.stdout +9 -0
  65. data/spec/integration/command/clip/clip_0.cmd +1 -0
  66. data/spec/integration/command/clip/clip_0.stdout +9 -0
  67. data/spec/integration/command/clip/clip_1.cmd +1 -0
  68. data/spec/integration/command/clip/clip_1.stdout +9 -0
  69. data/spec/integration/command/compact/compact_0.cmd +1 -0
  70. data/spec/integration/command/compact/compact_0.stdout +9 -0
  71. data/spec/integration/command/defaults/defaults_0.cmd +1 -0
  72. data/spec/integration/command/defaults/defaults_0.stdout +9 -0
  73. data/spec/integration/command/defaults/defaults_1.cmd +1 -0
  74. data/spec/integration/command/defaults/defaults_1.stdout +9 -0
  75. data/spec/integration/command/extend/extend_0.cmd +1 -0
  76. data/spec/integration/command/extend/extend_0.stdout +16 -0
  77. data/spec/integration/command/group/group_0.cmd +1 -0
  78. data/spec/integration/command/group/group_0.stdout +32 -0
  79. data/spec/integration/command/group/group_1.cmd +1 -0
  80. data/spec/integration/command/group/group_1.stdout +32 -0
  81. data/spec/integration/command/intersect/intersect_0.cmd +1 -0
  82. data/spec/integration/command/intersect/intersect_0.stdout +9 -0
  83. data/spec/integration/command/join/join_0.cmd +1 -0
  84. data/spec/integration/command/join/join_0.stdout +16 -0
  85. data/spec/integration/command/matching/matching_0.cmd +1 -0
  86. data/spec/integration/command/matching/matching_0.stdout +8 -0
  87. data/spec/integration/command/minus/minus_0.cmd +1 -0
  88. data/spec/integration/command/minus/minus_0.stdout +4 -0
  89. data/spec/integration/command/not-matching/not-matching_0.cmd +1 -0
  90. data/spec/integration/command/not-matching/not-matching_0.stdout +5 -0
  91. data/spec/integration/command/project/project_0.cmd +1 -0
  92. data/spec/integration/command/project/project_0.stdout +9 -0
  93. data/spec/integration/command/project/project_1.cmd +1 -0
  94. data/spec/integration/command/project/project_1.stdout +9 -0
  95. data/spec/integration/command/quota/quota_0.cmd +1 -0
  96. data/spec/integration/command/quota/quota_0.stdout +16 -0
  97. data/spec/integration/command/rank/rank_1.cmd +1 -0
  98. data/spec/integration/command/rank/rank_1.stdout +10 -0
  99. data/spec/integration/command/rank/rank_2.cmd +1 -0
  100. data/spec/integration/command/rank/rank_2.stdout +10 -0
  101. data/spec/integration/command/rank/rank_3.cmd +1 -0
  102. data/spec/integration/command/rank/rank_3.stdout +10 -0
  103. data/spec/integration/command/rank/rank_4.cmd +1 -0
  104. data/spec/integration/command/rank/rank_4.stdout +6 -0
  105. data/spec/integration/command/rank/rank_5.cmd +1 -0
  106. data/spec/integration/command/rank/rank_5.stdout +6 -0
  107. data/spec/integration/command/rename/rename_0.cmd +1 -0
  108. data/spec/integration/command/rename/rename_0.stdout +9 -0
  109. data/spec/integration/command/restrict/restrict_0.cmd +1 -0
  110. data/spec/integration/command/restrict/restrict_0.stdout +6 -0
  111. data/spec/integration/command/restrict/restrict_1.cmd +1 -0
  112. data/spec/integration/command/restrict/restrict_1.stdout +6 -0
  113. data/spec/integration/command/show/show_base.cmd +1 -0
  114. data/spec/integration/command/show/show_base.stdout +9 -0
  115. data/spec/integration/command/show/show_conflictual.cmd +1 -0
  116. data/spec/integration/command/show/show_conflictual.stdout +5 -0
  117. data/spec/integration/command/show/show_rash.cmd +1 -0
  118. data/spec/integration/command/show/show_rash.stdout +5 -0
  119. data/spec/integration/command/show/show_rash_2.cmd +1 -0
  120. data/spec/integration/command/show/show_rash_2.stdout +5 -0
  121. data/spec/integration/command/show/show_yaml.cmd +1 -0
  122. data/spec/integration/command/show/show_yaml.stdout +22 -0
  123. data/spec/integration/command/sort/sort_0.cmd +1 -0
  124. data/spec/integration/command/sort/sort_0.stdout +9 -0
  125. data/spec/integration/command/sort/sort_1.cmd +1 -0
  126. data/spec/integration/command/sort/sort_1.stdout +9 -0
  127. data/spec/integration/command/summarize/summarize_0.cmd +1 -0
  128. data/spec/integration/command/summarize/summarize_0.stdout +8 -0
  129. data/spec/integration/command/ungroup/ungroup_0.cmd +1 -0
  130. data/spec/integration/command/ungroup/ungroup_0.stdout +16 -0
  131. data/spec/integration/command/union/union_0.cmd +1 -0
  132. data/spec/integration/command/union/union_0.stdout +9 -0
  133. data/spec/integration/command/unwrap/unwrap_0.cmd +1 -0
  134. data/spec/integration/command/unwrap/unwrap_0.stdout +9 -0
  135. data/spec/integration/command/wrap/wrap_0.cmd +1 -0
  136. data/spec/integration/command/wrap/wrap_0.stdout +9 -0
  137. data/spec/integration/semantics/test_join.alf +9 -0
  138. data/spec/integration/{src → semantics}/test_minus.alf +0 -0
  139. data/spec/integration/{src → semantics}/test_project.alf +0 -0
  140. data/spec/integration/semantics/test_rank.alf +34 -0
  141. data/spec/integration/test_command.rb +36 -0
  142. data/spec/integration/test_examples.rb +11 -22
  143. data/spec/integration/test_semantics.rb +40 -0
  144. data/spec/regression/alf_file/__FILE__.alf +2 -0
  145. data/spec/regression/alf_file/suppliers.rash +5 -0
  146. data/spec/regression/alf_file/test___FILE__.rb +17 -0
  147. data/spec/regression/heading/test_heading_with_date.rb +12 -0
  148. data/spec/regression/lispy/test_compile.rb +14 -0
  149. data/spec/regression/relation/test_relation_with_date.rb +12 -0
  150. data/spec/regression/restrict/test_restrict_with_keywords.rb +17 -0
  151. data/spec/shared/a_value.rb +12 -0
  152. data/spec/shared/an_operator_class.rb +35 -0
  153. data/spec/spec_helper.rb +12 -34
  154. data/spec/unit/assumptions/test_file.rb +17 -0
  155. data/spec/unit/{test_assumptions.rb → assumptions/test_instance_eval.rb} +1 -1
  156. data/spec/unit/assumptions/test_scoping.rb +29 -0
  157. data/spec/unit/environment/test_folder.rb +6 -1
  158. data/spec/unit/operator/relational/matching/test_hash_based.rb +60 -0
  159. data/spec/unit/operator/relational/not_matching/test_hash_based.rb +37 -0
  160. data/spec/unit/operator/relational/test_rank.rb +50 -0
  161. data/spec/unit/operator/test_relational.rb +3 -0
  162. data/spec/unit/reader/test_alf_file.rb +7 -4
  163. data/spec/unit/reader/test_initialize.rb +60 -0
  164. data/spec/unit/relation/test_relops.rb +4 -0
  165. data/spec/unit/relation/test_to_a.rb +41 -0
  166. data/spec/unit/renderer/test_initialize.rb +60 -0
  167. data/spec/unit/test_environment.rb +38 -0
  168. data/spec/unit/test_heading.rb +38 -0
  169. data/spec/unit/test_reader.rb +5 -0
  170. data/spec/unit/test_relation.rb +31 -1
  171. data/spec/unit/test_renderer.rb +1 -1
  172. data/spec/unit/{renderer/text → text}/test_cell.rb +1 -1
  173. data/spec/unit/{renderer/text → text}/test_row.rb +1 -1
  174. data/spec/unit/{renderer/text → text}/test_table.rb +1 -1
  175. data/spec/unit/tools/test_ordering_key.rb +13 -0
  176. data/spec/unit/tools/test_parse_commandline_args.rb +47 -0
  177. data/spec/unit/tools/test_tuple_handle.rb +34 -2
  178. data/spec/unit/tools/test_varargs.rb +16 -0
  179. data/tasks/{spec_test.rake → integration_test.rake} +4 -32
  180. data/tasks/regression_test.rake +52 -0
  181. data/tasks/unit_test.rake +33 -58
  182. metadata +326 -66
  183. data/examples/runall.sh +0 -26
  184. data/lib/alf/relation.rb +0 -118
  185. data/lib/alf/renderer/text.rb +0 -153
  186. data/lib/alf/renderer/yaml.rb +0 -22
  187. data/spec/integration/test_alf_specs.rb +0 -37
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-07-13 00:00:00.000000000Z
12
+ date: 2011-07-23 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &88021380 !ruby/object:Gem::Requirement
16
+ requirement: &82645750 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.9.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *88021380
24
+ version_requirements: *82645750
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: bundler
27
- requirement: &88021130 !ruby/object:Gem::Requirement
27
+ requirement: &82645420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '1.0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *88021130
35
+ version_requirements: *82645420
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &88080750 !ruby/object:Gem::Requirement
38
+ requirement: &82645050 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,21 @@ dependencies:
43
43
  version: 2.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *88080750
46
+ version_requirements: *82645050
47
+ - !ruby/object:Gem::Dependency
48
+ name: rcov
49
+ requirement: &82644720 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.9.9
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *82644720
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: yard
49
- requirement: &88080520 !ruby/object:Gem::Requirement
60
+ requirement: &82644430 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ~>
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: 0.7.2
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *88080520
68
+ version_requirements: *82644430
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: bluecloth
60
- requirement: &88080290 !ruby/object:Gem::Requirement
71
+ requirement: &82644140 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ~>
@@ -65,10 +76,10 @@ dependencies:
65
76
  version: 2.0.9
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *88080290
79
+ version_requirements: *82644140
69
80
  - !ruby/object:Gem::Dependency
70
81
  name: wlang
71
- requirement: &88080060 !ruby/object:Gem::Requirement
82
+ requirement: &82643830 !ruby/object:Gem::Requirement
72
83
  none: false
73
84
  requirements:
74
85
  - - ~>
@@ -76,10 +87,10 @@ dependencies:
76
87
  version: 0.10.1
77
88
  type: :development
78
89
  prerelease: false
79
- version_requirements: *88080060
90
+ version_requirements: *82643830
80
91
  - !ruby/object:Gem::Dependency
81
92
  name: noe
82
- requirement: &88079830 !ruby/object:Gem::Requirement
93
+ requirement: &82643520 !ruby/object:Gem::Requirement
83
94
  none: false
84
95
  requirements:
85
96
  - - ~>
@@ -87,10 +98,10 @@ dependencies:
87
98
  version: 1.3.0
88
99
  type: :development
89
100
  prerelease: false
90
- version_requirements: *88079830
101
+ version_requirements: *82643520
91
102
  - !ruby/object:Gem::Dependency
92
103
  name: quickl
93
- requirement: &88079600 !ruby/object:Gem::Requirement
104
+ requirement: &82643200 !ruby/object:Gem::Requirement
94
105
  none: false
95
106
  requirements:
96
107
  - - ~>
@@ -98,7 +109,18 @@ dependencies:
98
109
  version: 0.2.2
99
110
  type: :runtime
100
111
  prerelease: false
101
- version_requirements: *88079600
112
+ version_requirements: *82643200
113
+ - !ruby/object:Gem::Dependency
114
+ name: myrrha
115
+ requirement: &82642920 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ~>
119
+ - !ruby/object:Gem::Version
120
+ version: 1.0.0
121
+ type: :runtime
122
+ prerelease: false
123
+ version_requirements: *82642920
102
124
  description: ! "Alf brings the relational algebra both in Shell and in Ruby. In Shell,
103
125
  because \nmanipulating any relation-like data source should be as straightforward
104
126
  as a \none-liner. In Ruby, because I've never understood why programming languages
@@ -115,72 +137,183 @@ extra_rdoc_files:
115
137
  - LICENCE.md
116
138
  files:
117
139
  - bin/alf
118
- - examples/project.alf
119
- - examples/ungroup.alf
120
- - examples/supplies.rash
121
- - examples/schema.yaml
122
- - examples/nulls.rash
123
- - examples/autonum.alf
124
- - examples/sort.alf
125
- - examples/quota.alf
126
- - examples/rename.alf
127
- - examples/intersect.alf
128
- - examples/group.alf
129
- - examples/parts.rash
130
- - examples/cities.rash
131
- - examples/defaults.alf
132
- - examples/unwrap.alf
133
- - examples/join.alf
134
- - examples/union.alf
135
- - examples/pseudo-with.alf
136
- - examples/runall.sh
137
- - examples/wrap.alf
138
- - examples/database.alf
139
- - examples/extend.alf
140
- - examples/compact.alf
141
- - examples/suppliers.rash
142
- - examples/summarize.alf
143
- - examples/minus.alf
144
- - examples/clip.alf
145
- - examples/restrict.alf
140
+ - examples/operators/project.alf
141
+ - examples/operators/ungroup.alf
142
+ - examples/operators/supplies.rash
143
+ - examples/operators/schema.yaml
144
+ - examples/operators/nulls.rash
145
+ - examples/operators/autonum.alf
146
+ - examples/operators/matching.alf
147
+ - examples/operators/sort.alf
148
+ - examples/operators/quota.alf
149
+ - examples/operators/rename.alf
150
+ - examples/operators/intersect.alf
151
+ - examples/operators/not_matching.alf
152
+ - examples/operators/group.alf
153
+ - examples/operators/parts.rash
154
+ - examples/operators/cities.rash
155
+ - examples/operators/defaults.alf
156
+ - examples/operators/unwrap.alf
157
+ - examples/operators/join.alf
158
+ - examples/operators/union.alf
159
+ - examples/operators/pseudo-with.alf
160
+ - examples/operators/wrap.alf
161
+ - examples/operators/database.alf
162
+ - examples/operators/rank.alf
163
+ - examples/operators/extend.alf
164
+ - examples/operators/compact.alf
165
+ - examples/operators/suppliers.rash
166
+ - examples/operators/summarize.alf
167
+ - examples/operators/minus.alf
168
+ - examples/operators/clip.alf
169
+ - examples/operators/restrict.alf
146
170
  - lib/alf.rb
147
- - lib/alf/relation.rb
171
+ - lib/alf/yaml.rb
172
+ - lib/alf/text.rb
148
173
  - lib/alf/loader.rb
149
- - lib/alf/renderer/yaml.rb
150
- - lib/alf/renderer/text.rb
151
174
  - lib/alf/version.rb
152
175
  - spec/spec_helper.rb
176
+ - spec/shared/a_value.rb
177
+ - spec/shared/an_operator_class.rb
178
+ - spec/integration/command/rename/rename_0.stdout
179
+ - spec/integration/command/rename/rename_0.cmd
180
+ - spec/integration/command/ungroup/ungroup_0.cmd
181
+ - spec/integration/command/ungroup/ungroup_0.stdout
182
+ - spec/integration/command/compact/compact_0.stdout
183
+ - spec/integration/command/compact/compact_0.cmd
184
+ - spec/integration/command/union/union_0.stdout
185
+ - spec/integration/command/union/union_0.cmd
186
+ - spec/integration/command/restrict/restrict_0.stdout
187
+ - spec/integration/command/restrict/restrict_0.cmd
188
+ - spec/integration/command/restrict/restrict_1.cmd
189
+ - spec/integration/command/restrict/restrict_1.stdout
190
+ - spec/integration/command/extend/extend_0.cmd
191
+ - spec/integration/command/extend/extend_0.stdout
192
+ - spec/integration/command/join/join_0.stdout
193
+ - spec/integration/command/join/join_0.cmd
194
+ - spec/integration/command/quota/quota_0.stdout
195
+ - spec/integration/command/quota/quota_0.cmd
196
+ - spec/integration/command/wrap/wrap_0.stdout
197
+ - spec/integration/command/wrap/wrap_0.cmd
198
+ - spec/integration/command/group/group_1.stdout
199
+ - spec/integration/command/group/group_1.cmd
200
+ - spec/integration/command/group/group_0.stdout
201
+ - spec/integration/command/group/group_0.cmd
202
+ - spec/integration/command/minus/minus_0.cmd
203
+ - spec/integration/command/minus/minus_0.stdout
204
+ - spec/integration/command/not-matching/not-matching_0.cmd
205
+ - spec/integration/command/not-matching/not-matching_0.stdout
206
+ - spec/integration/command/alf/alf_e.cmd
207
+ - spec/integration/command/alf/alf_implicit_exec.stdout
208
+ - spec/integration/command/alf/rel.rash
209
+ - spec/integration/command/alf/alf_yaml.cmd
210
+ - spec/integration/command/alf/alf_version.stdout
211
+ - spec/integration/command/alf/alf_env.stdout
212
+ - spec/integration/command/alf/alf_r.stdout
213
+ - spec/integration/command/alf/alf_env.cmd
214
+ - spec/integration/command/alf/alf_version.cmd
215
+ - spec/integration/command/alf/alf_yaml.stdout
216
+ - spec/integration/command/alf/alf_e.stdout
217
+ - spec/integration/command/alf/alf_implicit_exec.cmd
218
+ - spec/integration/command/alf/alf_implicit.alf
219
+ - spec/integration/command/alf/alf_r.cmd
220
+ - spec/integration/command/unwrap/unwrap_0.cmd
221
+ - spec/integration/command/unwrap/unwrap_0.stdout
222
+ - spec/integration/command/clip/clip_1.cmd
223
+ - spec/integration/command/clip/clip_1.stdout
224
+ - spec/integration/command/clip/clip_0.cmd
225
+ - spec/integration/command/clip/clip_0.stdout
226
+ - spec/integration/command/project/project_1.stdout
227
+ - spec/integration/command/project/project_1.cmd
228
+ - spec/integration/command/project/project_0.cmd
229
+ - spec/integration/command/project/project_0.stdout
230
+ - spec/integration/command/matching/matching_0.stdout
231
+ - spec/integration/command/matching/matching_0.cmd
232
+ - spec/integration/command/defaults/defaults_1.stdout
233
+ - spec/integration/command/defaults/defaults_0.stdout
234
+ - spec/integration/command/defaults/defaults_1.cmd
235
+ - spec/integration/command/defaults/defaults_0.cmd
236
+ - spec/integration/command/intersect/intersect_0.cmd
237
+ - spec/integration/command/intersect/intersect_0.stdout
238
+ - spec/integration/command/show/show_base.stdout
239
+ - spec/integration/command/show/show_yaml.cmd
240
+ - spec/integration/command/show/show_yaml.stdout
241
+ - spec/integration/command/show/show_rash.cmd
242
+ - spec/integration/command/show/show_conflictual.stdout
243
+ - spec/integration/command/show/show_rash_2.cmd
244
+ - spec/integration/command/show/show_rash.stdout
245
+ - spec/integration/command/show/show_base.cmd
246
+ - spec/integration/command/show/show_rash_2.stdout
247
+ - spec/integration/command/show/show_conflictual.cmd
248
+ - spec/integration/command/rank/rank_5.stdout
249
+ - spec/integration/command/rank/rank_2.cmd
250
+ - spec/integration/command/rank/rank_5.cmd
251
+ - spec/integration/command/rank/rank_1.stdout
252
+ - spec/integration/command/rank/rank_3.cmd
253
+ - spec/integration/command/rank/rank_3.stdout
254
+ - spec/integration/command/rank/rank_1.cmd
255
+ - spec/integration/command/rank/rank_2.stdout
256
+ - spec/integration/command/rank/rank_4.cmd
257
+ - spec/integration/command/rank/rank_4.stdout
258
+ - spec/integration/command/sort/sort_0.stdout
259
+ - spec/integration/command/sort/sort_1.stdout
260
+ - spec/integration/command/sort/sort_0.cmd
261
+ - spec/integration/command/sort/sort_1.cmd
262
+ - spec/integration/command/autonum/autonum_0.stdout
263
+ - spec/integration/command/autonum/autonum_1.stdout
264
+ - spec/integration/command/autonum/autonum_0.cmd
265
+ - spec/integration/command/autonum/autonum_1.cmd
266
+ - spec/integration/command/summarize/summarize_0.stdout
267
+ - spec/integration/command/summarize/summarize_0.cmd
268
+ - spec/integration/semantics/test_rank.alf
269
+ - spec/integration/semantics/test_minus.alf
270
+ - spec/integration/semantics/test_project.alf
271
+ - spec/integration/semantics/test_join.alf
272
+ - spec/integration/test_semantics.rb
273
+ - spec/integration/test_command.rb
153
274
  - spec/integration/test_examples.rb
154
- - spec/integration/test_alf_specs.rb
155
- - spec/integration/src/test_minus.alf
156
- - spec/integration/src/test_project.alf
275
+ - spec/integration/__database__/supplies.rash
276
+ - spec/integration/__database__/group.alf
277
+ - spec/integration/__database__/parts.rash
278
+ - spec/integration/__database__/suppliers.rash
157
279
  - spec/integration/test_alf.rb
158
280
  - spec/unit/test_operator.rb
159
281
  - spec/unit/test_relation.rb
160
282
  - spec/unit/relation/test_relops.rb
161
283
  - spec/unit/relation/test_inspect.rb
162
284
  - spec/unit/relation/test_coerce.rb
285
+ - spec/unit/relation/test_to_a.rb
163
286
  - spec/unit/reader/input.rb
164
287
  - spec/unit/reader/test_rash.rb
288
+ - spec/unit/reader/test_initialize.rb
165
289
  - spec/unit/reader/test_alf_file.rb
166
290
  - spec/unit/test_lispy.rb
167
291
  - spec/unit/test_aggregator.rb
168
292
  - spec/unit/environment/examples/suppliers.rash
169
293
  - spec/unit/environment/test_explicit.rb
170
294
  - spec/unit/environment/test_folder.rb
295
+ - spec/unit/test_heading.rb
296
+ - spec/unit/tools/test_parse_commandline_args.rb
297
+ - spec/unit/tools/test_varargs.rb
171
298
  - spec/unit/tools/test_projection_key.rb
172
299
  - spec/unit/tools/test_tools.rb
173
300
  - spec/unit/tools/test_ordering_key.rb
174
301
  - spec/unit/tools/test_tuple_handle.rb
175
- - spec/unit/test_assumptions.rb
176
- - spec/unit/renderer/text/test_cell.rb
177
- - spec/unit/renderer/text/test_table.rb
178
- - spec/unit/renderer/text/test_row.rb
302
+ - spec/unit/text/test_cell.rb
303
+ - spec/unit/text/test_table.rb
304
+ - spec/unit/text/test_row.rb
305
+ - spec/unit/test_environment.rb
306
+ - spec/unit/renderer/test_initialize.rb
307
+ - spec/unit/assumptions/test_scoping.rb
308
+ - spec/unit/assumptions/test_instance_eval.rb
309
+ - spec/unit/assumptions/test_file.rb
179
310
  - spec/unit/test_renderer.rb
180
311
  - spec/unit/operator/test_non_relational.rb
181
312
  - spec/unit/operator/relational/test_join.rb
313
+ - spec/unit/operator/relational/not_matching/test_hash_based.rb
182
314
  - spec/unit/operator/relational/test_extend.rb
183
315
  - spec/unit/operator/relational/test_intersect.rb
316
+ - spec/unit/operator/relational/test_rank.rb
184
317
  - spec/unit/operator/relational/test_summarize.rb
185
318
  - spec/unit/operator/relational/test_rename.rb
186
319
  - spec/unit/operator/relational/join/test_hash_based.rb
@@ -189,6 +322,7 @@ files:
189
322
  - spec/unit/operator/relational/test_minus.rb
190
323
  - spec/unit/operator/relational/test_quota.rb
191
324
  - spec/unit/operator/relational/test_unwrap.rb
325
+ - spec/unit/operator/relational/matching/test_hash_based.rb
192
326
  - spec/unit/operator/relational/test_group.rb
193
327
  - spec/unit/operator/relational/test_union.rb
194
328
  - spec/unit/operator/relational/test_project.rb
@@ -205,11 +339,19 @@ files:
205
339
  - spec/unit/operator/test_command_methods.rb
206
340
  - spec/unit/operator/test_relational.rb
207
341
  - spec/unit/test_reader.rb
342
+ - spec/regression/relation/test_relation_with_date.rb
343
+ - spec/regression/restrict/test_restrict_with_keywords.rb
344
+ - spec/regression/alf_file/test___FILE__.rb
345
+ - spec/regression/alf_file/__FILE__.alf
346
+ - spec/regression/alf_file/suppliers.rash
347
+ - spec/regression/heading/test_heading_with_date.rb
348
+ - spec/regression/lispy/test_compile.rb
349
+ - tasks/integration_test.rake
350
+ - tasks/regression_test.rake
208
351
  - tasks/debug_mail.rake
209
352
  - tasks/yard.rake
210
353
  - tasks/clean.rake
211
354
  - tasks/gem.rake
212
- - tasks/spec_test.rake
213
355
  - tasks/unit_test.rake
214
356
  - tasks/debug_mail.txt
215
357
  - Rakefile
@@ -236,7 +378,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
236
378
  version: '0'
237
379
  segments:
238
380
  - 0
239
- hash: 845446095
381
+ hash: 902830703
240
382
  required_rubygems_version: !ruby/object:Gem::Requirement
241
383
  none: false
242
384
  requirements:
@@ -245,7 +387,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
387
  version: '0'
246
388
  segments:
247
389
  - 0
248
- hash: 845446095
390
+ hash: 902830703
249
391
  requirements: []
250
392
  rubyforge_project:
251
393
  rubygems_version: 1.8.5
@@ -254,37 +396,147 @@ specification_version: 3
254
396
  summary: Relational Algebra at your fingertips
255
397
  test_files:
256
398
  - spec/spec_helper.rb
399
+ - spec/shared/a_value.rb
400
+ - spec/shared/an_operator_class.rb
401
+ - spec/integration/command/rename/rename_0.stdout
402
+ - spec/integration/command/rename/rename_0.cmd
403
+ - spec/integration/command/ungroup/ungroup_0.cmd
404
+ - spec/integration/command/ungroup/ungroup_0.stdout
405
+ - spec/integration/command/compact/compact_0.stdout
406
+ - spec/integration/command/compact/compact_0.cmd
407
+ - spec/integration/command/union/union_0.stdout
408
+ - spec/integration/command/union/union_0.cmd
409
+ - spec/integration/command/restrict/restrict_0.stdout
410
+ - spec/integration/command/restrict/restrict_0.cmd
411
+ - spec/integration/command/restrict/restrict_1.cmd
412
+ - spec/integration/command/restrict/restrict_1.stdout
413
+ - spec/integration/command/extend/extend_0.cmd
414
+ - spec/integration/command/extend/extend_0.stdout
415
+ - spec/integration/command/join/join_0.stdout
416
+ - spec/integration/command/join/join_0.cmd
417
+ - spec/integration/command/quota/quota_0.stdout
418
+ - spec/integration/command/quota/quota_0.cmd
419
+ - spec/integration/command/wrap/wrap_0.stdout
420
+ - spec/integration/command/wrap/wrap_0.cmd
421
+ - spec/integration/command/group/group_1.stdout
422
+ - spec/integration/command/group/group_1.cmd
423
+ - spec/integration/command/group/group_0.stdout
424
+ - spec/integration/command/group/group_0.cmd
425
+ - spec/integration/command/minus/minus_0.cmd
426
+ - spec/integration/command/minus/minus_0.stdout
427
+ - spec/integration/command/not-matching/not-matching_0.cmd
428
+ - spec/integration/command/not-matching/not-matching_0.stdout
429
+ - spec/integration/command/alf/alf_e.cmd
430
+ - spec/integration/command/alf/alf_implicit_exec.stdout
431
+ - spec/integration/command/alf/rel.rash
432
+ - spec/integration/command/alf/alf_yaml.cmd
433
+ - spec/integration/command/alf/alf_version.stdout
434
+ - spec/integration/command/alf/alf_env.stdout
435
+ - spec/integration/command/alf/alf_r.stdout
436
+ - spec/integration/command/alf/alf_env.cmd
437
+ - spec/integration/command/alf/alf_version.cmd
438
+ - spec/integration/command/alf/alf_yaml.stdout
439
+ - spec/integration/command/alf/alf_e.stdout
440
+ - spec/integration/command/alf/alf_implicit_exec.cmd
441
+ - spec/integration/command/alf/alf_implicit.alf
442
+ - spec/integration/command/alf/alf_r.cmd
443
+ - spec/integration/command/unwrap/unwrap_0.cmd
444
+ - spec/integration/command/unwrap/unwrap_0.stdout
445
+ - spec/integration/command/clip/clip_1.cmd
446
+ - spec/integration/command/clip/clip_1.stdout
447
+ - spec/integration/command/clip/clip_0.cmd
448
+ - spec/integration/command/clip/clip_0.stdout
449
+ - spec/integration/command/project/project_1.stdout
450
+ - spec/integration/command/project/project_1.cmd
451
+ - spec/integration/command/project/project_0.cmd
452
+ - spec/integration/command/project/project_0.stdout
453
+ - spec/integration/command/matching/matching_0.stdout
454
+ - spec/integration/command/matching/matching_0.cmd
455
+ - spec/integration/command/defaults/defaults_1.stdout
456
+ - spec/integration/command/defaults/defaults_0.stdout
457
+ - spec/integration/command/defaults/defaults_1.cmd
458
+ - spec/integration/command/defaults/defaults_0.cmd
459
+ - spec/integration/command/intersect/intersect_0.cmd
460
+ - spec/integration/command/intersect/intersect_0.stdout
461
+ - spec/integration/command/show/show_base.stdout
462
+ - spec/integration/command/show/show_yaml.cmd
463
+ - spec/integration/command/show/show_yaml.stdout
464
+ - spec/integration/command/show/show_rash.cmd
465
+ - spec/integration/command/show/show_conflictual.stdout
466
+ - spec/integration/command/show/show_rash_2.cmd
467
+ - spec/integration/command/show/show_rash.stdout
468
+ - spec/integration/command/show/show_base.cmd
469
+ - spec/integration/command/show/show_rash_2.stdout
470
+ - spec/integration/command/show/show_conflictual.cmd
471
+ - spec/integration/command/rank/rank_5.stdout
472
+ - spec/integration/command/rank/rank_2.cmd
473
+ - spec/integration/command/rank/rank_5.cmd
474
+ - spec/integration/command/rank/rank_1.stdout
475
+ - spec/integration/command/rank/rank_3.cmd
476
+ - spec/integration/command/rank/rank_3.stdout
477
+ - spec/integration/command/rank/rank_1.cmd
478
+ - spec/integration/command/rank/rank_2.stdout
479
+ - spec/integration/command/rank/rank_4.cmd
480
+ - spec/integration/command/rank/rank_4.stdout
481
+ - spec/integration/command/sort/sort_0.stdout
482
+ - spec/integration/command/sort/sort_1.stdout
483
+ - spec/integration/command/sort/sort_0.cmd
484
+ - spec/integration/command/sort/sort_1.cmd
485
+ - spec/integration/command/autonum/autonum_0.stdout
486
+ - spec/integration/command/autonum/autonum_1.stdout
487
+ - spec/integration/command/autonum/autonum_0.cmd
488
+ - spec/integration/command/autonum/autonum_1.cmd
489
+ - spec/integration/command/summarize/summarize_0.stdout
490
+ - spec/integration/command/summarize/summarize_0.cmd
491
+ - spec/integration/semantics/test_rank.alf
492
+ - spec/integration/semantics/test_minus.alf
493
+ - spec/integration/semantics/test_project.alf
494
+ - spec/integration/semantics/test_join.alf
495
+ - spec/integration/test_semantics.rb
496
+ - spec/integration/test_command.rb
257
497
  - spec/integration/test_examples.rb
258
- - spec/integration/test_alf_specs.rb
259
- - spec/integration/src/test_minus.alf
260
- - spec/integration/src/test_project.alf
498
+ - spec/integration/__database__/supplies.rash
499
+ - spec/integration/__database__/group.alf
500
+ - spec/integration/__database__/parts.rash
501
+ - spec/integration/__database__/suppliers.rash
261
502
  - spec/integration/test_alf.rb
262
503
  - spec/unit/test_operator.rb
263
504
  - spec/unit/test_relation.rb
264
505
  - spec/unit/relation/test_relops.rb
265
506
  - spec/unit/relation/test_inspect.rb
266
507
  - spec/unit/relation/test_coerce.rb
508
+ - spec/unit/relation/test_to_a.rb
267
509
  - spec/unit/reader/input.rb
268
510
  - spec/unit/reader/test_rash.rb
511
+ - spec/unit/reader/test_initialize.rb
269
512
  - spec/unit/reader/test_alf_file.rb
270
513
  - spec/unit/test_lispy.rb
271
514
  - spec/unit/test_aggregator.rb
272
515
  - spec/unit/environment/examples/suppliers.rash
273
516
  - spec/unit/environment/test_explicit.rb
274
517
  - spec/unit/environment/test_folder.rb
518
+ - spec/unit/test_heading.rb
519
+ - spec/unit/tools/test_parse_commandline_args.rb
520
+ - spec/unit/tools/test_varargs.rb
275
521
  - spec/unit/tools/test_projection_key.rb
276
522
  - spec/unit/tools/test_tools.rb
277
523
  - spec/unit/tools/test_ordering_key.rb
278
524
  - spec/unit/tools/test_tuple_handle.rb
279
- - spec/unit/test_assumptions.rb
280
- - spec/unit/renderer/text/test_cell.rb
281
- - spec/unit/renderer/text/test_table.rb
282
- - spec/unit/renderer/text/test_row.rb
525
+ - spec/unit/text/test_cell.rb
526
+ - spec/unit/text/test_table.rb
527
+ - spec/unit/text/test_row.rb
528
+ - spec/unit/test_environment.rb
529
+ - spec/unit/renderer/test_initialize.rb
530
+ - spec/unit/assumptions/test_scoping.rb
531
+ - spec/unit/assumptions/test_instance_eval.rb
532
+ - spec/unit/assumptions/test_file.rb
283
533
  - spec/unit/test_renderer.rb
284
534
  - spec/unit/operator/test_non_relational.rb
285
535
  - spec/unit/operator/relational/test_join.rb
536
+ - spec/unit/operator/relational/not_matching/test_hash_based.rb
286
537
  - spec/unit/operator/relational/test_extend.rb
287
538
  - spec/unit/operator/relational/test_intersect.rb
539
+ - spec/unit/operator/relational/test_rank.rb
288
540
  - spec/unit/operator/relational/test_summarize.rb
289
541
  - spec/unit/operator/relational/test_rename.rb
290
542
  - spec/unit/operator/relational/join/test_hash_based.rb
@@ -293,6 +545,7 @@ test_files:
293
545
  - spec/unit/operator/relational/test_minus.rb
294
546
  - spec/unit/operator/relational/test_quota.rb
295
547
  - spec/unit/operator/relational/test_unwrap.rb
548
+ - spec/unit/operator/relational/matching/test_hash_based.rb
296
549
  - spec/unit/operator/relational/test_group.rb
297
550
  - spec/unit/operator/relational/test_union.rb
298
551
  - spec/unit/operator/relational/test_project.rb
@@ -309,3 +562,10 @@ test_files:
309
562
  - spec/unit/operator/test_command_methods.rb
310
563
  - spec/unit/operator/test_relational.rb
311
564
  - spec/unit/test_reader.rb
565
+ - spec/regression/relation/test_relation_with_date.rb
566
+ - spec/regression/restrict/test_restrict_with_keywords.rb
567
+ - spec/regression/alf_file/test___FILE__.rb
568
+ - spec/regression/alf_file/__FILE__.alf
569
+ - spec/regression/alf_file/suppliers.rash
570
+ - spec/regression/heading/test_heading_with_date.rb
571
+ - spec/regression/lispy/test_compile.rb