activefacts 0.8.9 → 0.8.10

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 (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;