activefacts 0.8.9 → 0.8.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. data/.gemtest +0 -0
  2. data/Manifest.txt +28 -33
  3. data/Rakefile +11 -12
  4. data/bin/cql +90 -46
  5. data/examples/CQL/Blog.cql +2 -1
  6. data/examples/CQL/CompanyDirectorEmployee.cql +2 -2
  7. data/examples/CQL/Death.cql +1 -1
  8. data/examples/CQL/Diplomacy.cql +9 -9
  9. data/examples/CQL/Genealogy.cql +3 -2
  10. data/examples/CQL/Insurance.cql +10 -7
  11. data/examples/CQL/JoinEquality.cql +2 -2
  12. data/examples/CQL/Marriage.cql +1 -1
  13. data/examples/CQL/Metamodel.cql +73 -53
  14. data/examples/CQL/MetamodelNext.cql +89 -67
  15. data/examples/CQL/OneToOnes.cql +2 -2
  16. data/examples/CQL/ServiceDirector.cql +10 -5
  17. data/examples/CQL/Supervision.cql +3 -3
  18. data/examples/CQL/Tests.Test5.Load.cql +1 -1
  19. data/examples/CQL/Warehousing.cql +4 -2
  20. data/lib/activefacts/cql/CQLParser.treetop +26 -60
  21. data/lib/activefacts/cql/Context.treetop +12 -2
  22. data/lib/activefacts/cql/Expressions.treetop +14 -30
  23. data/lib/activefacts/cql/FactTypes.treetop +165 -110
  24. data/lib/activefacts/cql/Language/English.treetop +167 -54
  25. data/lib/activefacts/cql/LexicalRules.treetop +16 -2
  26. data/lib/activefacts/cql/{Concepts.treetop → ObjectTypes.treetop} +36 -37
  27. data/lib/activefacts/cql/Terms.treetop +57 -27
  28. data/lib/activefacts/cql/ValueTypes.treetop +39 -13
  29. data/lib/activefacts/cql/compiler.rb +5 -3
  30. data/lib/activefacts/cql/compiler/{reading.rb → clause.rb} +407 -285
  31. data/lib/activefacts/cql/compiler/constraint.rb +178 -275
  32. data/lib/activefacts/cql/compiler/entity_type.rb +73 -64
  33. data/lib/activefacts/cql/compiler/expression.rb +418 -0
  34. data/lib/activefacts/cql/compiler/fact.rb +146 -145
  35. data/lib/activefacts/cql/compiler/fact_type.rb +197 -80
  36. data/lib/activefacts/cql/compiler/join.rb +159 -0
  37. data/lib/activefacts/cql/compiler/shared.rb +51 -23
  38. data/lib/activefacts/cql/compiler/value_type.rb +56 -2
  39. data/lib/activefacts/cql/parser.rb +15 -4
  40. data/lib/activefacts/generate/absorption.rb +7 -7
  41. data/lib/activefacts/generate/cql.rb +100 -37
  42. data/lib/activefacts/generate/oo.rb +28 -51
  43. data/lib/activefacts/generate/ordered.rb +60 -36
  44. data/lib/activefacts/generate/ruby.rb +6 -6
  45. data/lib/activefacts/generate/sql/server.rb +4 -4
  46. data/lib/activefacts/input/orm.rb +71 -53
  47. data/lib/activefacts/persistence.rb +1 -1
  48. data/lib/activefacts/persistence/columns.rb +27 -23
  49. data/lib/activefacts/persistence/foreignkey.rb +6 -6
  50. data/lib/activefacts/persistence/index.rb +17 -17
  51. data/lib/activefacts/persistence/{concept.rb → object_type.rb} +9 -9
  52. data/lib/activefacts/persistence/reference.rb +61 -36
  53. data/lib/activefacts/persistence/tables.rb +61 -59
  54. data/lib/activefacts/support.rb +54 -29
  55. data/lib/activefacts/version.rb +1 -1
  56. data/lib/activefacts/vocabulary/extensions.rb +99 -54
  57. data/lib/activefacts/vocabulary/metamodel.rb +43 -37
  58. data/lib/activefacts/vocabulary/verbaliser.rb +134 -109
  59. data/spec/absorption_spec.rb +8 -8
  60. data/spec/cql/comparison_spec.rb +91 -0
  61. data/spec/cql/contractions_spec.rb +251 -0
  62. data/spec/cql/entity_type_spec.rb +319 -0
  63. data/spec/cql/expressions_spec.rb +63 -0
  64. data/spec/cql/fact_type_matching_spec.rb +283 -0
  65. data/spec/cql/french_spec.rb +21 -0
  66. data/spec/cql/parser/bad_literals_spec.rb +86 -0
  67. data/spec/cql/parser/constraints_spec.rb +19 -0
  68. data/spec/cql/parser/entity_types_spec.rb +106 -0
  69. data/spec/cql/parser/expressions_spec.rb +179 -0
  70. data/spec/cql/parser/fact_types_spec.rb +41 -0
  71. data/spec/cql/parser/literals_spec.rb +312 -0
  72. data/spec/cql/parser/pragmas_spec.rb +89 -0
  73. data/spec/cql/parser/value_types_spec.rb +42 -0
  74. data/spec/cql/role_matching_spec.rb +147 -0
  75. data/spec/cql/samples_spec.rb +9 -9
  76. data/spec/cql_cql_spec.rb +1 -1
  77. data/spec/cql_dm_spec.rb +116 -0
  78. data/spec/cql_mysql_spec.rb +1 -1
  79. data/spec/cql_ruby_spec.rb +1 -1
  80. data/spec/cql_sql_spec.rb +3 -3
  81. data/spec/cql_symbol_tables_spec.rb +30 -30
  82. data/spec/cqldump_spec.rb +4 -4
  83. data/spec/helpers/array_matcher.rb +32 -27
  84. data/spec/helpers/diff_matcher.rb +6 -26
  85. data/spec/helpers/file_matcher.rb +41 -32
  86. data/spec/helpers/parse_to_ast_matcher.rb +76 -0
  87. data/spec/helpers/string_matcher.rb +32 -31
  88. data/spec/norma_cql_spec.rb +1 -1
  89. data/spec/norma_ruby_spec.rb +1 -1
  90. data/spec/norma_ruby_sql_spec.rb +1 -1
  91. data/spec/norma_sql_spec.rb +3 -1
  92. data/spec/norma_tables_spec.rb +1 -1
  93. data/spec/ruby_api_spec.rb +23 -0
  94. data/spec/spec_helper.rb +5 -4
  95. metadata +66 -66
  96. data/examples/CQL/OrienteeringER.cql +0 -58
  97. data/lib/activefacts/api.rb +0 -44
  98. data/lib/activefacts/api/concept.rb +0 -410
  99. data/lib/activefacts/api/constellation.rb +0 -128
  100. data/lib/activefacts/api/entity.rb +0 -256
  101. data/lib/activefacts/api/instance.rb +0 -60
  102. data/lib/activefacts/api/instance_index.rb +0 -80
  103. data/lib/activefacts/api/numeric.rb +0 -167
  104. data/lib/activefacts/api/role.rb +0 -80
  105. data/lib/activefacts/api/role_proxy.rb +0 -70
  106. data/lib/activefacts/api/role_values.rb +0 -117
  107. data/lib/activefacts/api/standard_types.rb +0 -87
  108. data/lib/activefacts/api/support.rb +0 -65
  109. data/lib/activefacts/api/value.rb +0 -135
  110. data/lib/activefacts/api/vocabulary.rb +0 -82
  111. data/spec/api/autocounter.rb +0 -82
  112. data/spec/api/constellation.rb +0 -130
  113. data/spec/api/entity_type.rb +0 -103
  114. data/spec/api/instance.rb +0 -461
  115. data/spec/api/roles.rb +0 -124
  116. data/spec/api/value_type.rb +0 -112
  117. data/spec/api_spec.rb +0 -13
  118. data/spec/cql/matching_spec.rb +0 -517
  119. data/spec/cql/unit_spec.rb +0 -394
  120. data/spec/spec.opts +0 -1
@@ -1,39 +1,40 @@
1
1
  require 'diff/lcs'
2
2
 
3
- module StringMatcher
4
- class BeDifferentString
5
- def initialize(expected)
6
- @expected = expected.scan(/[^\n]+/)
7
- end
3
+ module RSpec
4
+ module Matchers
5
+ def have_different_contents(expected)
6
+ Matcher.new :have_different_contents, expected do |*_expected|
7
+ match_for_should do |actual|
8
+ perform_match(actual, _expected)
9
+ end
8
10
 
9
- def matches?(actual)
10
- actual_lines = actual.scan(/[^\n]+/)
11
- differences = Diff::LCS::diff(@expected, actual_lines)
12
- @diff = differences.map do |chunk|
13
- added_at = (add = chunk.detect{|d| d.action == '+'}) && add.position+1
14
- removed_at = (remove = chunk.detect{|d| d.action == '-'}) && remove.position+1
15
- "Line #{added_at}/#{removed_at}:\n"+
16
- chunk.map do |change|
17
- "#{change.action} #{change.element}"
18
- end*"\n"
19
- end*"\n"
20
- @diff != ''
21
- end
11
+ match_for_should_not do |actual|
12
+ !perform_match(actual, _expected)
13
+ end
22
14
 
23
- def failure_message
24
- "expected a difference, but got none"
25
- end
15
+ def perform_match(actual, expected)
16
+ expected_lines = expected.scan(/[^\n]+/)
17
+ actual_lines = actual.scan(/[^\n]+/)
18
+ differences = Diff::LCS::diff(expected_lines, actual_lines)
19
+ @diff = differences.map do |chunk|
20
+ added_at = (add = chunk.detect{|d| d.action == '+'}) && add.position+1
21
+ removed_at = (remove = chunk.detect{|d| d.action == '-'}) && remove.position+1
22
+ "Line #{added_at}/#{removed_at}:\n"+
23
+ chunk.map do |change|
24
+ "#{change.action} #{change.element}"
25
+ end*"\n"
26
+ end*"\n"
27
+ @diff != ''
28
+ end
26
29
 
27
- def negative_failure_message
28
- "expected no difference, but got:\n#{@diff}"
29
- end
30
- end
30
+ def failure_message_for_should
31
+ "expected a difference, but got none"
32
+ end
31
33
 
32
- def have_different_contents(expected)
33
- BeDifferentString.new(expected)
34
+ failure_message_for_should_not do |actual|
35
+ "expected no difference, but got:\n#{@diff}"
36
+ end
37
+ end
38
+ end
34
39
  end
35
40
  end
36
-
37
- Spec::Runner.configure do |config|
38
- config.include(StringMatcher)
39
- end
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
4
4
  #
5
5
 
6
- require 'spec/spec_helper'
6
+ require 'spec_helper'
7
7
  require 'stringio'
8
8
  require 'activefacts/vocabulary'
9
9
  require 'activefacts/support'
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
4
4
  #
5
5
 
6
- require 'spec/spec_helper'
6
+ require 'spec_helper'
7
7
  require 'stringio'
8
8
  require 'activefacts/vocabulary'
9
9
  require 'activefacts/support'
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
4
4
  #
5
5
 
6
- require 'spec/spec_helper'
6
+ require 'spec_helper'
7
7
  require 'stringio'
8
8
  require 'activefacts/vocabulary'
9
9
  require 'activefacts/support'
@@ -3,7 +3,7 @@
3
3
  # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
4
4
  #
5
5
 
6
- require 'spec/spec_helper'
6
+ require 'spec_helper'
7
7
  require 'stringio'
8
8
  require 'activefacts/vocabulary'
9
9
  require 'activefacts/support'
@@ -45,6 +45,8 @@ describe "NORMA Loader with SQL output" do
45
45
  pending("expected output file #{expected_file} not found") unless File.exists? expected_file
46
46
 
47
47
  expected_text = File.open(expected_file) {|f| f.read }
48
+ sql_text.gsub!(/ INDEX (\[[^\]]*\]|`[^`]*`|[^ ]*) ON /, ' INDEX <Name is hidden> ON ')
49
+ expected_text.gsub!(/ INDEX (\[[^\]]*\]|`[^`]*`|[^ ]*) ON /, ' INDEX <Name is hidden> ON ')
48
50
  sql_text.should_not differ_from(expected_text)
49
51
  File.delete(actual_file) # It succeeded, we don't need the file.
50
52
  end
@@ -7,7 +7,7 @@
7
7
  # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
8
8
  #
9
9
 
10
- require 'spec/spec_helper'
10
+ require 'spec_helper'
11
11
  require 'stringio'
12
12
  require 'activefacts/vocabulary'
13
13
  require 'activefacts/persistence'
@@ -0,0 +1,23 @@
1
+ #
2
+ # ActiveFacts tests: Compare column lists created by aborption and by generated Ruby.
3
+ # Copyright (c) 2008 Clifford Heath. Read the LICENSE file.
4
+ #
5
+
6
+ require 'spec_helper'
7
+ require 'stringio'
8
+ require 'activefacts/vocabulary'
9
+ require 'activefacts/support'
10
+
11
+ describe "Requiring vocabularies in Ruby" do
12
+ ruby_failures = {
13
+ "MetamodelNext" => "Has a duplicate role name",
14
+ }
15
+ pattern = ENV["AFTESTS"] || "*"
16
+ Dir["examples/ruby/#{pattern}.rb"].each do |ruby_file|
17
+ base = File.basename(ruby_file, ".rb")
18
+ next if ruby_failures.include?(base)
19
+ it "#{ruby_file} should load cleanly" do
20
+ require ruby_file
21
+ end
22
+ end
23
+ end
@@ -5,10 +5,11 @@
5
5
  # actual_text.should_not differ_from(expected_text)
6
6
  #
7
7
 
8
- require 'spec/helpers/diff_matcher'
9
- require 'spec/helpers/array_matcher'
10
- require 'spec/helpers/file_matcher'
11
- require 'spec/helpers/string_matcher'
8
+ require 'helpers/diff_matcher'
9
+ require 'helpers/array_matcher'
10
+ require 'helpers/file_matcher'
11
+ require 'helpers/string_matcher'
12
+ require 'helpers/parse_to_ast_matcher'
12
13
 
13
14
  class String
14
15
  def strip_comments()
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activefacts
3
3
  version: !ruby/object:Gem::Version
4
- hash: 45
5
- prerelease: false
4
+ hash: 43
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 9
10
- version: 0.8.9
9
+ - 10
10
+ version: 0.8.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Clifford Heath
@@ -15,13 +15,28 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-27 00:00:00 +10:00
19
- default_executable:
18
+ date: 2011-06-27 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
- name: treetop
21
+ name: activefacts-api
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ hash: 43
29
+ segments:
30
+ - 0
31
+ - 8
32
+ - 10
33
+ version: 0.8.10
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: treetop
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
25
40
  none: false
26
41
  requirements:
27
42
  - - ">="
@@ -33,11 +48,11 @@ dependencies:
33
48
  - 1
34
49
  version: 1.4.1
35
50
  type: :runtime
36
- version_requirements: *id001
51
+ version_requirements: *id002
37
52
  - !ruby/object:Gem::Dependency
38
53
  name: rake
39
54
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
55
+ requirement: &id003 !ruby/object:Gem::Requirement
41
56
  none: false
42
57
  requirements:
43
58
  - - ">="
@@ -49,39 +64,38 @@ dependencies:
49
64
  - 7
50
65
  version: 0.8.7
51
66
  type: :runtime
52
- version_requirements: *id002
67
+ version_requirements: *id003
53
68
  - !ruby/object:Gem::Dependency
54
69
  name: newgem
55
70
  prerelease: false
56
- requirement: &id003 !ruby/object:Gem::Requirement
71
+ requirement: &id004 !ruby/object:Gem::Requirement
57
72
  none: false
58
73
  requirements:
59
74
  - - ">="
60
75
  - !ruby/object:Gem::Version
61
- hash: 7
76
+ hash: 5
62
77
  segments:
63
78
  - 1
64
79
  - 5
65
- - 2
66
- version: 1.5.2
80
+ - 3
81
+ version: 1.5.3
67
82
  type: :development
68
- version_requirements: *id003
83
+ version_requirements: *id004
69
84
  - !ruby/object:Gem::Dependency
70
85
  name: hoe
71
86
  prerelease: false
72
- requirement: &id004 !ruby/object:Gem::Requirement
87
+ requirement: &id005 !ruby/object:Gem::Requirement
73
88
  none: false
74
89
  requirements:
75
- - - ">="
90
+ - - ~>
76
91
  - !ruby/object:Gem::Version
77
- hash: 5
92
+ hash: 17
78
93
  segments:
79
94
  - 2
80
- - 3
81
- - 3
82
- version: 2.3.3
95
+ - 9
96
+ version: "2.9"
83
97
  type: :development
84
- version_requirements: *id004
98
+ version_requirements: *id005
85
99
  description: |
86
100
 
87
101
  ActiveFacts provides a semantic modeling language, the Constellation
@@ -134,7 +148,6 @@ files:
134
148
  - examples/CQL/OilSupply.cql
135
149
  - examples/CQL/OneToOnes.cql
136
150
  - examples/CQL/Orienteering.cql
137
- - examples/CQL/OrienteeringER.cql
138
151
  - examples/CQL/PersonPlaysGame.cql
139
152
  - examples/CQL/RedundantDependency.cql
140
153
  - examples/CQL/SchoolActivities.cql
@@ -153,37 +166,25 @@ files:
153
166
  - examples/local.css
154
167
  - index.html
155
168
  - lib/activefacts.rb
156
- - lib/activefacts/api.rb
157
- - lib/activefacts/api/concept.rb
158
- - lib/activefacts/api/constellation.rb
159
- - lib/activefacts/api/entity.rb
160
- - lib/activefacts/api/instance.rb
161
- - lib/activefacts/api/instance_index.rb
162
- - lib/activefacts/api/numeric.rb
163
- - lib/activefacts/api/role.rb
164
- - lib/activefacts/api/role_proxy.rb
165
- - lib/activefacts/api/role_values.rb
166
- - lib/activefacts/api/standard_types.rb
167
- - lib/activefacts/api/support.rb
168
- - lib/activefacts/api/value.rb
169
- - lib/activefacts/api/vocabulary.rb
170
169
  - lib/activefacts/cql.rb
171
170
  - lib/activefacts/cql/CQLParser.treetop
172
- - lib/activefacts/cql/Concepts.treetop
173
171
  - lib/activefacts/cql/Context.treetop
174
172
  - lib/activefacts/cql/Expressions.treetop
175
173
  - lib/activefacts/cql/FactTypes.treetop
176
174
  - lib/activefacts/cql/Language/English.treetop
177
175
  - lib/activefacts/cql/LexicalRules.treetop
176
+ - lib/activefacts/cql/ObjectTypes.treetop
178
177
  - lib/activefacts/cql/Rakefile
179
178
  - lib/activefacts/cql/Terms.treetop
180
179
  - lib/activefacts/cql/ValueTypes.treetop
181
180
  - lib/activefacts/cql/compiler.rb
181
+ - lib/activefacts/cql/compiler/clause.rb
182
182
  - lib/activefacts/cql/compiler/constraint.rb
183
183
  - lib/activefacts/cql/compiler/entity_type.rb
184
+ - lib/activefacts/cql/compiler/expression.rb
184
185
  - lib/activefacts/cql/compiler/fact.rb
185
186
  - lib/activefacts/cql/compiler/fact_type.rb
186
- - lib/activefacts/cql/compiler/reading.rb
187
+ - lib/activefacts/cql/compiler/join.rb
187
188
  - lib/activefacts/cql/compiler/shared.rb
188
189
  - lib/activefacts/cql/compiler/value_type.rb
189
190
  - lib/activefacts/cql/parser.rb
@@ -200,9 +201,9 @@ files:
200
201
  - lib/activefacts/input/orm.rb
201
202
  - lib/activefacts/persistence.rb
202
203
  - lib/activefacts/persistence/columns.rb
203
- - lib/activefacts/persistence/concept.rb
204
204
  - lib/activefacts/persistence/foreignkey.rb
205
205
  - lib/activefacts/persistence/index.rb
206
+ - lib/activefacts/persistence/object_type.rb
206
207
  - lib/activefacts/persistence/reference.rb
207
208
  - lib/activefacts/persistence/tables.rb
208
209
  - lib/activefacts/support.rb
@@ -212,57 +213,56 @@ files:
212
213
  - lib/activefacts/vocabulary/metamodel.rb
213
214
  - lib/activefacts/vocabulary/verbaliser.rb
214
215
  - script/txt2html
216
+ - spec/cql/comparison_spec.rb
217
+ - spec/cql/contractions_spec.rb
218
+ - spec/cql/entity_type_spec.rb
219
+ - spec/cql/expressions_spec.rb
220
+ - spec/cql/french_spec.rb
221
+ - spec/cql/role_matching_spec.rb
222
+ - spec/ruby_api_spec.rb
215
223
  - spec/absorption_spec.rb
216
- - spec/api/autocounter.rb
217
- - spec/api/constellation.rb
218
- - spec/api/entity_type.rb
219
- - spec/api/instance.rb
220
- - spec/api/roles.rb
221
- - spec/api/value_type.rb
222
- - spec/api_spec.rb
223
224
  - spec/cql/context_spec.rb
224
225
  - spec/cql/deontic_spec.rb
225
- - spec/cql/matching_spec.rb
226
+ - spec/cql/fact_type_matching_spec.rb
227
+ - spec/cql/parser/bad_literals_spec.rb
228
+ - spec/cql/parser/constraints_spec.rb
229
+ - spec/cql/parser/entity_types_spec.rb
230
+ - spec/cql/parser/expressions_spec.rb
231
+ - spec/cql/parser/fact_types_spec.rb
232
+ - spec/cql/parser/literals_spec.rb
233
+ - spec/cql/parser/pragmas_spec.rb
234
+ - spec/cql/parser/value_types_spec.rb
226
235
  - spec/cql/samples_spec.rb
227
- - spec/cql/unit_spec.rb
228
236
  - spec/cql_cql_spec.rb
237
+ - spec/cql_dm_spec.rb
229
238
  - spec/cql_mysql_spec.rb
230
239
  - spec/cql_parse_spec.rb
231
240
  - spec/cql_ruby_spec.rb
232
241
  - spec/cql_sql_spec.rb
233
242
  - spec/cql_symbol_tables_spec.rb
234
243
  - spec/cqldump_spec.rb
244
+ - spec/norma_cql_spec.rb
245
+ - spec/norma_ruby_spec.rb
246
+ - spec/norma_ruby_sql_spec.rb
247
+ - spec/norma_sql_spec.rb
248
+ - spec/norma_tables_spec.rb
235
249
  - spec/helpers/array_matcher.rb
236
250
  - spec/helpers/ctrl_c_support.rb
237
251
  - spec/helpers/diff_matcher.rb
238
252
  - spec/helpers/file_matcher.rb
253
+ - spec/helpers/parse_to_ast_matcher.rb
239
254
  - spec/helpers/string_matcher.rb
240
255
  - spec/helpers/test_parser.rb
241
- - spec/norma_cql_spec.rb
242
- - spec/norma_ruby_spec.rb
243
- - spec/norma_ruby_sql_spec.rb
244
- - spec/norma_sql_spec.rb
245
- - spec/norma_tables_spec.rb
246
- - spec/spec.opts
247
256
  - spec/spec_helper.rb
248
257
  - status.html
249
258
  - why.html
250
- has_rdoc: true
259
+ - .gemtest
251
260
  homepage: http://dataconstellation.com/ActiveFacts/
252
261
  licenses: []
253
262
 
254
263
  post_install_message: For more information on ActiveFacts, see http://dataconstellation.com/ActiveFacts
255
264
  rdoc_options:
256
265
  - -S
257
- - -S
258
- - -T
259
- - hanna
260
- - -A
261
- - has_one
262
- - -A
263
- - one_to_one
264
- - -A
265
- - maybe
266
266
  - -x
267
267
  - lib/activefacts/cql/.*.rb
268
268
  - -x
@@ -290,7 +290,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
290
  requirements: []
291
291
 
292
292
  rubyforge_project: cjheath@rubyforge.org
293
- rubygems_version: 1.3.7
293
+ rubygems_version: 1.8.5
294
294
  signing_key:
295
295
  specification_version: 3
296
296
  summary: A semantic modeling and query language (CQL) and application runtime (the Constellation API)
@@ -1,58 +0,0 @@
1
- vocabulary OrienteeringER;
2
-
3
- /*
4
- * Value Types
5
- */
6
- Accessibility is written as Char;
7
- Club Name is written as String;
8
- Code is written as Char;
9
- Control is written as Unsigned Integer(32);
10
- Course is written as Char;
11
- Date is written as Date Time;
12
- Event Name is written as String;
13
- ID is written as Auto Counter;
14
- Location is written as String;
15
- Name is written as String;
16
- Number is written as Signed Integer(32);
17
- Point Value is written as Unsigned Integer(32);
18
- Series Name is written as String;
19
-
20
- /*
21
- * Entity Types
22
- */
23
- Club is where
24
- Code is of the club called one Club Name,
25
- the club called Club Name has one Code;
26
-
27
- Map is where
28
- map-Name having Accessibility belongs to Club;
29
-
30
- Series Event is where
31
- Series Name includes event-Number,
32
- event-Number is in Series Name;
33
-
34
- Event is where
35
- event-ID is Series Event called Event Name run by Club using Map on Date at Location;
36
-
37
- Event Control is where
38
- Event includes Control which is worth one Point Value;
39
-
40
- Event Course is where
41
- Course is available at Event,
42
- Event offers Course;
43
-
44
- /*
45
- * Constraints:
46
- */
47
- each Club occurs at least one time in
48
- event ID is Series Event called Event Name run by Club using Map on Date at Location;
49
- each Event Name occurs one time in
50
- event ID is Series Event called Event Name run by Club using Map on Date at Location;
51
- each Event occurs at least one time in
52
- Event includes Control which is worth Point Value;
53
- each ID occurs one time in
54
- event ID is Series Event called Event Name run by Club using Map on Date at Location;
55
- each Name occurs one time in
56
- map Name having Accessibility belongs to Club;
57
- each Series Event occurs one time in
58
- event ID is Series Event called Event Name run by Club using Map on Date at Location;