activefacts 1.6.0 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +4 -0
  5. data/Gemfile +14 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +60 -0
  8. data/Rakefile +3 -80
  9. data/activefacts.gemspec +36 -0
  10. data/bin/afgen +4 -2
  11. data/bin/cql +5 -1
  12. data/lib/activefacts.rb +3 -12
  13. data/lib/activefacts/{vocabulary/query_evaluator.rb → query/evaluator.rb} +0 -0
  14. data/lib/activefacts/version.rb +2 -2
  15. metadata +48 -296
  16. data/History.txt +0 -4
  17. data/LICENSE +0 -19
  18. data/Manifest.txt +0 -165
  19. data/README.rdoc +0 -81
  20. data/css/offline.css +0 -3
  21. data/css/orm2.css +0 -124
  22. data/css/print.css +0 -8
  23. data/css/style-print.css +0 -357
  24. data/css/style.css +0 -387
  25. data/download.html +0 -110
  26. data/examples/CQL/Address.cql +0 -44
  27. data/examples/CQL/Blog.cql +0 -54
  28. data/examples/CQL/CompanyDirectorEmployee.cql +0 -56
  29. data/examples/CQL/Death.cql +0 -17
  30. data/examples/CQL/Diplomacy.cql +0 -48
  31. data/examples/CQL/Genealogy.cql +0 -98
  32. data/examples/CQL/Insurance.cql +0 -320
  33. data/examples/CQL/Marriage.cql +0 -18
  34. data/examples/CQL/Metamodel.cql +0 -493
  35. data/examples/CQL/Monogamy.cql +0 -24
  36. data/examples/CQL/MultiInheritance.cql +0 -22
  37. data/examples/CQL/NonRoleId.cql +0 -14
  38. data/examples/CQL/OddIdentifier.cql +0 -18
  39. data/examples/CQL/OilSupply.cql +0 -53
  40. data/examples/CQL/OneToOnes.cql +0 -17
  41. data/examples/CQL/Orienteering.cql +0 -111
  42. data/examples/CQL/PersonPlaysGame.cql +0 -18
  43. data/examples/CQL/RedundantDependency.cql +0 -34
  44. data/examples/CQL/SchoolActivities.cql +0 -33
  45. data/examples/CQL/SeparateSubtype.cql +0 -30
  46. data/examples/CQL/ServiceDirector.cql +0 -276
  47. data/examples/CQL/SimplestUnary.cql +0 -12
  48. data/examples/CQL/Supervision.cql +0 -34
  49. data/examples/CQL/WaiterTips.cql +0 -33
  50. data/examples/CQL/Warehousing.cql +0 -101
  51. data/examples/CQL/WindowInRoomInBldg.cql +0 -28
  52. data/examples/CQL/unit.cql +0 -474
  53. data/examples/index.html +0 -420
  54. data/examples/intro.html +0 -327
  55. data/examples/local.css +0 -24
  56. data/index.html +0 -111
  57. data/lib/activefacts/cql.rb +0 -35
  58. data/lib/activefacts/cql/CQLParser.treetop +0 -158
  59. data/lib/activefacts/cql/Context.treetop +0 -48
  60. data/lib/activefacts/cql/Expressions.treetop +0 -67
  61. data/lib/activefacts/cql/FactTypes.treetop +0 -358
  62. data/lib/activefacts/cql/Language/English.treetop +0 -315
  63. data/lib/activefacts/cql/LexicalRules.treetop +0 -253
  64. data/lib/activefacts/cql/ObjectTypes.treetop +0 -210
  65. data/lib/activefacts/cql/Rakefile +0 -14
  66. data/lib/activefacts/cql/Terms.treetop +0 -183
  67. data/lib/activefacts/cql/ValueTypes.treetop +0 -202
  68. data/lib/activefacts/cql/compiler.rb +0 -156
  69. data/lib/activefacts/cql/compiler/clause.rb +0 -1137
  70. data/lib/activefacts/cql/compiler/constraint.rb +0 -581
  71. data/lib/activefacts/cql/compiler/entity_type.rb +0 -457
  72. data/lib/activefacts/cql/compiler/expression.rb +0 -443
  73. data/lib/activefacts/cql/compiler/fact.rb +0 -390
  74. data/lib/activefacts/cql/compiler/fact_type.rb +0 -421
  75. data/lib/activefacts/cql/compiler/query.rb +0 -106
  76. data/lib/activefacts/cql/compiler/shared.rb +0 -161
  77. data/lib/activefacts/cql/compiler/value_type.rb +0 -174
  78. data/lib/activefacts/cql/nodes.rb +0 -49
  79. data/lib/activefacts/cql/parser.rb +0 -241
  80. data/lib/activefacts/dependency_analyser.rb +0 -182
  81. data/lib/activefacts/generate/absorption.rb +0 -70
  82. data/lib/activefacts/generate/composition.rb +0 -118
  83. data/lib/activefacts/generate/cql.rb +0 -714
  84. data/lib/activefacts/generate/dm.rb +0 -279
  85. data/lib/activefacts/generate/help.rb +0 -64
  86. data/lib/activefacts/generate/helpers/inject.rb +0 -16
  87. data/lib/activefacts/generate/helpers/oo.rb +0 -162
  88. data/lib/activefacts/generate/helpers/ordered.rb +0 -605
  89. data/lib/activefacts/generate/helpers/rails.rb +0 -57
  90. data/lib/activefacts/generate/html/glossary.rb +0 -461
  91. data/lib/activefacts/generate/json.rb +0 -337
  92. data/lib/activefacts/generate/null.rb +0 -32
  93. data/lib/activefacts/generate/rails/models.rb +0 -246
  94. data/lib/activefacts/generate/rails/schema.rb +0 -216
  95. data/lib/activefacts/generate/records.rb +0 -46
  96. data/lib/activefacts/generate/ruby.rb +0 -133
  97. data/lib/activefacts/generate/sql/mysql.rb +0 -280
  98. data/lib/activefacts/generate/sql/server.rb +0 -273
  99. data/lib/activefacts/generate/stats.rb +0 -69
  100. data/lib/activefacts/generate/text.rb +0 -27
  101. data/lib/activefacts/generate/topics.rb +0 -265
  102. data/lib/activefacts/generate/traits/datavault.rb +0 -241
  103. data/lib/activefacts/generate/traits/oo.rb +0 -73
  104. data/lib/activefacts/generate/traits/ordered.rb +0 -33
  105. data/lib/activefacts/generate/traits/ruby.rb +0 -210
  106. data/lib/activefacts/generate/transform/datavault.rb +0 -266
  107. data/lib/activefacts/generate/transform/surrogate.rb +0 -214
  108. data/lib/activefacts/generate/version.rb +0 -26
  109. data/lib/activefacts/input/cql.rb +0 -43
  110. data/lib/activefacts/input/orm.rb +0 -1636
  111. data/lib/activefacts/mapping/rails.rb +0 -132
  112. data/lib/activefacts/persistence.rb +0 -15
  113. data/lib/activefacts/persistence/columns.rb +0 -446
  114. data/lib/activefacts/persistence/foreignkey.rb +0 -187
  115. data/lib/activefacts/persistence/index.rb +0 -240
  116. data/lib/activefacts/persistence/object_type.rb +0 -198
  117. data/lib/activefacts/persistence/reference.rb +0 -434
  118. data/lib/activefacts/persistence/tables.rb +0 -380
  119. data/lib/activefacts/registry.rb +0 -11
  120. data/lib/activefacts/support.rb +0 -132
  121. data/lib/activefacts/vocabulary.rb +0 -9
  122. data/lib/activefacts/vocabulary/extensions.rb +0 -1348
  123. data/lib/activefacts/vocabulary/metamodel.rb +0 -570
  124. data/lib/activefacts/vocabulary/verbaliser.rb +0 -804
  125. data/script/txt2html +0 -71
  126. data/spec/absorption_spec.rb +0 -95
  127. data/spec/cql/comparison_spec.rb +0 -89
  128. data/spec/cql/context_spec.rb +0 -94
  129. data/spec/cql/contractions_spec.rb +0 -224
  130. data/spec/cql/deontic_spec.rb +0 -88
  131. data/spec/cql/entity_type_spec.rb +0 -320
  132. data/spec/cql/expressions_spec.rb +0 -66
  133. data/spec/cql/fact_type_matching_spec.rb +0 -338
  134. data/spec/cql/french_spec.rb +0 -21
  135. data/spec/cql/parser/bad_literals_spec.rb +0 -86
  136. data/spec/cql/parser/constraints_spec.rb +0 -19
  137. data/spec/cql/parser/entity_types_spec.rb +0 -106
  138. data/spec/cql/parser/expressions_spec.rb +0 -199
  139. data/spec/cql/parser/fact_types_spec.rb +0 -44
  140. data/spec/cql/parser/literals_spec.rb +0 -312
  141. data/spec/cql/parser/pragmas_spec.rb +0 -89
  142. data/spec/cql/parser/value_types_spec.rb +0 -42
  143. data/spec/cql/role_matching_spec.rb +0 -148
  144. data/spec/cql/samples_spec.rb +0 -244
  145. data/spec/cql_cql_spec.rb +0 -73
  146. data/spec/cql_dm_spec.rb +0 -136
  147. data/spec/cql_mysql_spec.rb +0 -69
  148. data/spec/cql_parse_spec.rb +0 -34
  149. data/spec/cql_ruby_spec.rb +0 -73
  150. data/spec/cql_sql_spec.rb +0 -72
  151. data/spec/cql_symbol_tables_spec.rb +0 -261
  152. data/spec/cqldump_spec.rb +0 -170
  153. data/spec/helpers/array_matcher.rb +0 -23
  154. data/spec/helpers/ctrl_c_support.rb +0 -52
  155. data/spec/helpers/diff_matcher.rb +0 -39
  156. data/spec/helpers/file_matcher.rb +0 -34
  157. data/spec/helpers/parse_to_ast_matcher.rb +0 -80
  158. data/spec/helpers/string_matcher.rb +0 -30
  159. data/spec/helpers/test_parser.rb +0 -15
  160. data/spec/norma_cql_spec.rb +0 -66
  161. data/spec/norma_ruby_spec.rb +0 -62
  162. data/spec/norma_ruby_sql_spec.rb +0 -107
  163. data/spec/norma_sql_spec.rb +0 -57
  164. data/spec/norma_tables_spec.rb +0 -95
  165. data/spec/ruby_api_spec.rb +0 -23
  166. data/spec/spec_helper.rb +0 -35
  167. data/spec/transform_surrogate_spec.rb +0 -59
  168. data/status.html +0 -138
  169. data/why.html +0 -60
@@ -1,387 +0,0 @@
1
- body
2
- {
3
- color : #000000;
4
- background-color : #FFFFFF;
5
- line-height : 1.5em;
6
- font-family : Calibri, Verdana, sans-serif;
7
- }
8
-
9
- /* emphasis */
10
-
11
- em,
12
- blockquote
13
- {
14
- font-family : Cambria, Georgia, serif;
15
- }
16
-
17
- /* headings */
18
-
19
- h1,
20
- h2,
21
- h3,
22
- h4,
23
- h5,
24
- h6,
25
- .title
26
- {
27
- font-weight : lighter;
28
- font-family : Constantia, "Book Antiqua", "URW Bookman L", serif;
29
- }
30
-
31
- #lof h1,
32
- #lof h2,
33
- #lof h3,
34
- #lof h4,
35
- #lof h5,
36
- #lof h6
37
- {
38
- margin-top : 1.25em;
39
- }
40
-
41
- #content h1,
42
- #content h2,
43
- #content h3,
44
- #content h4,
45
- #content h5,
46
- #content h6
47
- {
48
- margin-top : 2.5em;
49
- line-height : 1.25em;
50
- }
51
-
52
- #content h1
53
- {
54
- font-size : 2.0em;
55
- }
56
-
57
- #content h2
58
- {
59
- font-size : 1.8em;
60
- }
61
-
62
- #content h3
63
- {
64
- font-size : 1.6em;
65
- }
66
-
67
- #content h4
68
- {
69
- font-size : 1.4em;
70
- }
71
-
72
- #content h5
73
- {
74
- font-size : 1.2em;
75
- }
76
-
77
- #content h6
78
- {
79
- font-size : 1.0em;
80
- }
81
-
82
- /* tables */
83
-
84
- table
85
- {
86
- border : none;
87
- }
88
-
89
- th,
90
- td
91
- {
92
- padding : 1em;
93
- border : 1px solid #C0C0C0;
94
- vertical-align : top;
95
- background-color : #FFFFFF;
96
- }
97
-
98
- th
99
- {
100
- background-color : #F5F5F5;
101
- }
102
-
103
- table
104
- {
105
- margin : auto;
106
- }
107
-
108
- /* document structure */
109
-
110
- #header
111
- {
112
- margin-bottom : 5em;
113
- text-align : center;
114
- }
115
-
116
- #abstract
117
- {
118
- margin-bottom : 5em;
119
- }
120
-
121
- #toc li
122
- {
123
- list-style-type : none;
124
- }
125
-
126
- #toc li ul
127
- {
128
- padding-bottom : 1em;
129
- border-left : thick solid #F5F5F5;
130
- _border-left : none; /* for IE6 */
131
- }
132
-
133
- #toc li ul:hover
134
- {
135
- border-color : #DCDCDC;
136
- }
137
-
138
- #toc > ul
139
- {
140
- padding-left : 1em;
141
- }
142
-
143
- #references
144
- {
145
- margin-top : 5em;
146
- }
147
-
148
- #footer
149
- {
150
- border-top : thick dotted #DCDCDC;
151
- padding-top : 1em;
152
- margin-top : 5em;
153
- text-align : center;
154
- }
155
-
156
- /* document nodes */
157
-
158
- .part > .title,
159
- .chapter > .title
160
- {
161
- padding-bottom : 0.5em;
162
- }
163
-
164
- .part > .title > big,
165
- .chapter > .title > big
166
- {
167
- display : block;
168
- margin-top : 1.5em;
169
- }
170
-
171
- .part .title big,
172
- .chapter .title big
173
- {
174
- _display : block; /* for IE6 */
175
- _margin-top : 0.25em; /* for IE6 */
176
- _margin-bottom : 0.75em; /* for IE6 */
177
- }
178
-
179
- .index
180
- {
181
- font-size: 0.9em;
182
- line-height: 1.2em;
183
- }
184
-
185
- .index ul
186
- {
187
- margin: 4px;
188
- font-size: 0.9em;
189
- line-height: 1em;
190
- }
191
-
192
- .paragraph > .title,
193
- .tip > .title,
194
- .note > .title,
195
- .caution > .title,
196
- .warning > .title,
197
- .important > .title,
198
- .figure > .title,
199
- .table > .title,
200
- .example > .title,
201
- .equation > .title,
202
- .procedure > .title
203
- {
204
- font-size : large;
205
- margin-top : 2em;
206
- }
207
-
208
- .paragraph .title,
209
- .tip .title,
210
- .note .title,
211
- .caution .title,
212
- .warning .title,
213
- .important .title,
214
- .figure .title,
215
- .table .title,
216
- .example .title,
217
- .equation .title,
218
- .procedure .title
219
- {
220
- _font-size : large; /* for IE6 */
221
- _font-weight : bold; /* large is not bold in IE6 */
222
- _margin-top : 2em; /* for IE6 */
223
- }
224
-
225
- .tip ,
226
- .note ,
227
- .caution ,
228
- .warning ,
229
- .important,
230
- .figure ,
231
- .table ,
232
- .example ,
233
- .equation ,
234
- .procedure
235
- {
236
- margin : 3em;
237
- }
238
-
239
- .tip > .icon,
240
- .note > .icon,
241
- .caution > .icon,
242
- .warning > .icon,
243
- .important > .icon
244
- {
245
- float : left;
246
- margin : 0 1em 1em 0; /* top right bottom left */
247
- }
248
-
249
- .tip .icon,
250
- .note .icon,
251
- .caution .icon,
252
- .warning .icon,
253
- .important .icon
254
- {
255
- _display : none; /* IE6 cannot display embedded images */
256
- }
257
-
258
- .figure > .title
259
- {
260
- text-align : center;
261
- }
262
-
263
- .figure .title
264
- {
265
- _text-align : center; /* for IE6 */
266
- }
267
-
268
- .figure > .content > img
269
- {
270
- display : block;
271
- margin : auto;
272
- }
273
-
274
- .figure .content img
275
- {
276
- _display : block; /* for IE6 */
277
- _margin : auto; /* for IE6 */
278
- }
279
-
280
- body
281
- {
282
- margin : auto;
283
- padding : 0.5em;
284
- XXmax-width : 40em;
285
- max-width : 70%;
286
- }
287
-
288
- /* hyperlinks */
289
-
290
- a
291
- {
292
- color : #0000FF;
293
- text-decoration : none;
294
- }
295
-
296
- a:visited
297
- {
298
- color : #800080;
299
- }
300
-
301
- a:hover
302
- {
303
- color : #FF0000;
304
- text-decoration : underline;
305
- }
306
-
307
- a:target
308
- {
309
- color : #FF0000;
310
- text-decoration : underline;
311
- }
312
-
313
- a.toc:link,
314
- a.toc:visited
315
- {
316
- text-decoration : none;
317
- z-index : 1;
318
- }
319
-
320
- a img
321
- {
322
- border : none;
323
- }
324
-
325
- /* source code */
326
-
327
- tt,
328
- code,
329
- pre
330
- {
331
- font-family : monospace;
332
- }
333
-
334
- tt
335
- {
336
- font-weight : bold;
337
- /* color : #A52A2A; */
338
- /* background-color : #FFFAF0; */
339
- }
340
-
341
- /* output of syntax colorizer */
342
- .code
343
- {
344
- background-color : #FFFFF0;
345
- }
346
-
347
- pre
348
- {
349
- line-height : normal;
350
- border : 1px dashed #C0C0C0;
351
- background-color : #F5FFDF;
352
- padding : 1em;
353
- overflow : auto;
354
- cursor : text;
355
- }
356
-
357
- /*
358
- pre:hover
359
- {
360
- border : none;
361
- position : fixed;
362
- z-index : 1;
363
- margin : 0;
364
- top : 0;
365
- left : 0;
366
- right : 0;
367
- bottom : 0;
368
- overflow : auto;
369
- cursor : text;
370
- }
371
- */
372
-
373
- /* emphasis */
374
-
375
- blockquote
376
- {
377
- margin : 1em;
378
- border : 5px dotted #C0C0C0;
379
- padding : 1em;
380
- color : #444;
381
- }
382
-
383
- hr
384
- {
385
- color : #FF0000; /* for IE6 */
386
- background-color : #FF0000; /* for Firefox */
387
- }
@@ -1,110 +0,0 @@
1
- <!--#include virtual="/header.html" -->
2
- <!--#include virtual="navbar.html" -->
3
-
4
- <link rel="stylesheet" href="css/offline.css" media="screen" type="text/css" />
5
-
6
- <div id="sidebar"></div>
7
-
8
- <div id="top" class="content">
9
-
10
- <a name="download"></a>
11
- <h2 class="title">
12
- Download
13
- </h2>
14
-
15
- <p>
16
- ActiveFacts is packaged as a <a href="http://www.ruby-lang.org/">Ruby</a> <a href="http://gems.rubyforge.org/">GEM</a>.
17
- If you have Ruby installed, just say (omit "sudo" on Windows):
18
- </p>
19
-
20
- <pre>
21
- sudo gem install activefacts
22
- </pre>
23
-
24
- <h3 class="title">
25
- API Documentation
26
- </h3>
27
- <p>
28
- After installing, you can read the Ruby API documentation by visiting
29
- <a href="http://localhost:8808/">http://localhost:8808/</a> in your browser after starting
30
- </p>
31
- <pre>
32
- gem server
33
- </pre>
34
-
35
- <h3 class="title">
36
- The ActiveFacts generator
37
- </h3>
38
- <p>
39
- CQL Examples are provided in the <b>examples/CQL</b> directory under activefacts in your gem directory
40
- (mine is <b>/opt/local/lib/ruby/gems/1.8/gems/</b>). Copy the files you're interested in and you can
41
- generate code from them using commands like the following:
42
- </p>
43
-
44
- <pre>
45
- afgen --ruby OilSupply.cql
46
- afgen --sql/server Warehousing.cql
47
- </pre>
48
-
49
- <p>
50
- <em>afgen</em> also reads <em>.orm</em> files from <a href="http://ormfoundation.org/files">NORMA</a>.
51
- You might also try the CQL command line tool.
52
- </p>
53
-
54
- <h3 class="title">
55
- Installing on Windows
56
- </h3>
57
- <p>
58
- Use the Ruby 1.8.7 installer from <a href="http://rubyinstaller.org/downloads/">RubyInstaller</a>.
59
- After running the installer, you need to add Ruby to your PATH. The default install location is
60
- C:\Ruby187\, so execute the following command in a Windows command prompt:
61
- </p>
62
- <pre>
63
- PATH C:\Ruby187\bin;%PATH%
64
- </pre>
65
- <p>
66
- Or right-click "My Computer" -&gt; Properties -&gt; Advanced -&gt; Environment Variables -&gt; System Variables
67
- <br>
68
- Scroll down to find the entry for Path and double-click it. Click in the Variable value: text widget and move the cursor to the start of the value before typing <b>C:\Ruby187;</b> before the first entry. Hit Ok three times and start a new command prompt.
69
- </p>
70
- <p>
71
- If you got that all right, you should be able to enter the interactive Ruby
72
- interpreter in the command prompt by typing <b>irb &lt;ENTER&gt;</b>. Exit
73
- from irb (^D) and you should be able to use <b>gem install activefacts</b>
74
- as above. If your computer is behind a firewall, download the activefacts
75
- gem file, along with those for
76
- <a href="http://rubygems.org/gems/treetop/versions/1.4.8">Treetop</a>,
77
- <a href="http://rubygems.org/gems/polyglot/versions/0.3.1">Polyglot</a> and
78
- <a href="http://rubygems.org/gems/rake/versions/0.8.7">Rake</a>, and use
79
- <b>gem install &lt;file&gt;.gem</b> to install those in the reverse order.
80
- </p>
81
-
82
- <h3>Source Code Repository</h3>
83
- <p>
84
- The source code is available at <a href="http://github.com/cjheath/activefacts/">GitHub</a>.
85
- </p>
86
-
87
- <h3>Object Role Modeling</h3>
88
- <p>
89
- If you want to draw your own <a href="http://www.orm.net">Object Role Modeling</a>
90
- diagrams and have a copy of Windows Visual Studio (pro only, not Express),
91
- you can freely download and install the <a href="http://www.ormfoundation.com/files/">Neumont ORM Architect</a>.
92
- The example models are available in the correct format from the <a href="examples/">examples directory</a>.
93
- The ActiveFacts generator <em>afgen</em> can process ORM files as easily as
94
- CQL files, though a little slower due to the volume of XML to be parsed.
95
- </p>
96
-
97
- <a name="information"></a>
98
- <h3>More information and discussion</h3>
99
-
100
- <p>
101
- Status messages go to the Yahoo
102
- <a href="http://tech.groups.yahoo.com/group/information_modeling">information_modeling</a>
103
- group, which is also available as an
104
- <a href="news:gmane.comp.programming.modeling.information">NNTP feed on Gmane</a>.
105
- Subscribe today and share your thoughts!
106
- </p>
107
-
108
- </div>
109
-
110
- <!--#include virtual="/footer.html" -->