activefacts 0.8.18 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Rakefile +0 -8
- data/examples/CQL/CompanyDirectorEmployee.cql +12 -8
- data/examples/CQL/Metamodel.cql +40 -24
- data/examples/CQL/OilSupply.cql +10 -8
- data/examples/CQL/unit.cql +52 -51
- data/lib/activefacts/cql/LexicalRules.treetop +1 -1
- data/lib/activefacts/cql/compiler.rb +1 -1
- data/lib/activefacts/cql/compiler/clause.rb +16 -24
- data/lib/activefacts/cql/compiler/constraint.rb +4 -4
- data/lib/activefacts/cql/compiler/entity_type.rb +16 -16
- data/lib/activefacts/cql/compiler/expression.rb +3 -3
- data/lib/activefacts/cql/compiler/fact.rb +1 -1
- data/lib/activefacts/cql/compiler/fact_type.rb +14 -4
- data/lib/activefacts/cql/compiler/shared.rb +1 -1
- data/lib/activefacts/cql/compiler/value_type.rb +2 -2
- data/lib/activefacts/generate/cql.rb +10 -34
- data/lib/activefacts/generate/helpers/oo.rb +10 -6
- data/lib/activefacts/generate/helpers/ordered.rb +32 -6
- data/lib/activefacts/generate/json.rb +2 -2
- data/lib/activefacts/generate/ruby.rb +7 -15
- data/lib/activefacts/generate/transform/surrogate.rb +7 -7
- data/lib/activefacts/input/orm.rb +23 -26
- data/lib/activefacts/persistence/index.rb +1 -1
- data/lib/activefacts/persistence/reference.rb +5 -2
- data/lib/activefacts/version.rb +3 -3
- data/lib/activefacts/vocabulary/extensions.rb +59 -19
- data/lib/activefacts/vocabulary/metamodel.rb +30 -14
- data/spec/cql/parser/bad_literals_spec.rb +1 -1
- data/spec/cql/parser/expressions_spec.rb +1 -1
- data/spec/cql_dm_spec.rb +15 -0
- data/spec/cql_mysql_spec.rb +1 -1
- data/spec/cqldump_spec.rb +12 -12
- data/spec/norma_cql_spec.rb +0 -1
- data/spec/norma_ruby_sql_spec.rb +3 -2
- data/spec/norma_tables_spec.rb +1 -1
- metadata +78 -127
- data/examples/CQL/JoinEquality.cql +0 -35
- data/examples/CQL/MonthInSeason.cql +0 -23
- data/examples/CQL/Moon.cql +0 -23
- data/examples/CQL/SubtypePI.cql +0 -31
- data/examples/CQL/Tests.Test5.Load.cql +0 -38
@@ -120,7 +120,7 @@ module ActiveFacts
|
|
120
120
|
value_type :length => 256
|
121
121
|
end
|
122
122
|
|
123
|
-
class
|
123
|
+
class TransactionPhase < String
|
124
124
|
value_type
|
125
125
|
restrict 'assert', 'commit'
|
126
126
|
end
|
@@ -162,12 +162,16 @@ module ActiveFacts
|
|
162
162
|
has_one :implication_rule # See ImplicationRule.all_concept
|
163
163
|
end
|
164
164
|
|
165
|
-
class Constraint
|
165
|
+
class Constraint
|
166
|
+
identified_by :concept
|
167
|
+
one_to_one :concept, :mandatory => true # See Concept.constraint
|
166
168
|
has_one :name # See Name.all_constraint
|
167
169
|
has_one :vocabulary # See Vocabulary.all_constraint
|
168
170
|
end
|
169
171
|
|
170
|
-
class ContextNote
|
172
|
+
class ContextNote
|
173
|
+
identified_by :concept
|
174
|
+
one_to_one :concept, :mandatory => true # See Concept.context_note
|
171
175
|
has_one :context_note_kind, :mandatory => true # See ContextNoteKind.all_context_note
|
172
176
|
has_one :discussion, :mandatory => true # See Discussion.all_context_note
|
173
177
|
has_one :relevant_concept, :class => Concept # See Concept.all_context_note_as_relevant_concept
|
@@ -180,12 +184,16 @@ module ActiveFacts
|
|
180
184
|
has_one :enforcement_code, :mandatory => true # See EnforcementCode.all_enforcement
|
181
185
|
end
|
182
186
|
|
183
|
-
class Fact
|
187
|
+
class Fact
|
188
|
+
identified_by :concept
|
189
|
+
one_to_one :concept, :mandatory => true # See Concept.fact
|
184
190
|
has_one :fact_type, :mandatory => true # See FactType.all_fact
|
185
191
|
has_one :population, :mandatory => true # See Population.all_fact
|
186
192
|
end
|
187
193
|
|
188
|
-
class FactType
|
194
|
+
class FactType
|
195
|
+
identified_by :concept
|
196
|
+
one_to_one :concept, :mandatory => true # See Concept.fact_type
|
189
197
|
end
|
190
198
|
|
191
199
|
class ImplicationRule
|
@@ -193,7 +201,9 @@ module ActiveFacts
|
|
193
201
|
one_to_one :implication_rule_name, :mandatory => true # See ImplicationRuleName.implication_rule
|
194
202
|
end
|
195
203
|
|
196
|
-
class Instance
|
204
|
+
class Instance
|
205
|
+
identified_by :concept
|
206
|
+
one_to_one :concept, :mandatory => true # See Concept.instance
|
197
207
|
one_to_one :fact # See Fact.instance
|
198
208
|
has_one :object_type, :mandatory => true # See ObjectType.all_instance
|
199
209
|
has_one :population, :mandatory => true # See Population.all_instance
|
@@ -217,7 +227,9 @@ module ActiveFacts
|
|
217
227
|
has_one :role_sequence, :mandatory => true # See RoleSequence.all_presence_constraint
|
218
228
|
end
|
219
229
|
|
220
|
-
class Query
|
230
|
+
class Query
|
231
|
+
identified_by :concept
|
232
|
+
one_to_one :concept, :mandatory => true # See Concept.query
|
221
233
|
end
|
222
234
|
|
223
235
|
class Reading
|
@@ -235,8 +247,9 @@ module ActiveFacts
|
|
235
247
|
has_one :role # See Role.all_ring_constraint
|
236
248
|
end
|
237
249
|
|
238
|
-
class Role
|
250
|
+
class Role
|
239
251
|
identified_by :fact_type, :ordinal
|
252
|
+
one_to_one :concept, :mandatory => true # See Concept.role
|
240
253
|
has_one :fact_type, :mandatory => true # See FactType.all_role
|
241
254
|
one_to_one :link_fact_type, :counterpart => :implying_role # See LinkFactType.implying_role
|
242
255
|
has_one :object_type, :mandatory => true # See ObjectType.all_role
|
@@ -274,8 +287,10 @@ module ActiveFacts
|
|
274
287
|
has_one :superset_role_sequence, :class => RoleSequence, :mandatory => true # See RoleSequence.all_subset_constraint_as_superset_role_sequence
|
275
288
|
end
|
276
289
|
|
277
|
-
class Unit
|
290
|
+
class Unit
|
291
|
+
identified_by :concept
|
278
292
|
has_one :coefficient # See Coefficient.all_unit
|
293
|
+
one_to_one :concept, :mandatory => true # See Concept.unit
|
279
294
|
has_one :ephemera_url, :class => EphemeraURL # See EphemeraURL.all_unit
|
280
295
|
maybe :is_fundamental
|
281
296
|
one_to_one :name, :mandatory => true # See Name.unit
|
@@ -375,8 +390,9 @@ module ActiveFacts
|
|
375
390
|
class ORMDiagram < Diagram
|
376
391
|
end
|
377
392
|
|
378
|
-
class ObjectType
|
393
|
+
class ObjectType
|
379
394
|
identified_by :vocabulary, :name
|
395
|
+
one_to_one :concept, :mandatory => true # See Concept.object_type
|
380
396
|
maybe :is_independent
|
381
397
|
has_one :name, :mandatory => true # See Name.all_object_type
|
382
398
|
has_one :pronoun # See Pronoun.all_object_type
|
@@ -399,8 +415,9 @@ module ActiveFacts
|
|
399
415
|
has_one :step, :counterpart => :incidental_play # See Step.all_incidental_play
|
400
416
|
end
|
401
417
|
|
402
|
-
class Population
|
418
|
+
class Population
|
403
419
|
identified_by :vocabulary, :name
|
420
|
+
one_to_one :concept, :mandatory => true # See Concept.population
|
404
421
|
has_one :name, :mandatory => true # See Name.all_population
|
405
422
|
has_one :vocabulary # See Vocabulary.all_population
|
406
423
|
end
|
@@ -411,7 +428,7 @@ module ActiveFacts
|
|
411
428
|
end
|
412
429
|
|
413
430
|
class RingConstraintShape < ConstraintShape
|
414
|
-
has_one :
|
431
|
+
has_one :fact_type_shape, :mandatory => true # See FactTypeShape.all_ring_constraint_shape
|
415
432
|
end
|
416
433
|
|
417
434
|
class RoleDisplay
|
@@ -484,7 +501,6 @@ module ActiveFacts
|
|
484
501
|
|
485
502
|
class EntityType < DomainObjectType
|
486
503
|
one_to_one :fact_type # See FactType.entity_type
|
487
|
-
maybe :is_implied_by_objectification
|
488
504
|
end
|
489
505
|
|
490
506
|
class TypeInheritance < FactType
|
@@ -499,7 +515,7 @@ module ActiveFacts
|
|
499
515
|
has_one :length # See Length.all_value_type
|
500
516
|
has_one :scale # See Scale.all_value_type
|
501
517
|
has_one :supertype, :class => ValueType # See ValueType.all_value_type_as_supertype
|
502
|
-
has_one :
|
518
|
+
has_one :transaction_phase # See TransactionPhase.all_value_type
|
503
519
|
has_one :unit # See Unit.all_value_type
|
504
520
|
one_to_one :value_constraint # See ValueConstraint.value_type
|
505
521
|
end
|
@@ -17,7 +17,7 @@ describe "Parsing Invalid Numbers and Strings" do
|
|
17
17
|
|
18
18
|
it "should fail to parse a hexadecimal number containing non-hexadecimal digits" do
|
19
19
|
"aa is written as b(0xDice);".
|
20
|
-
should fail_to_parse /Expected
|
20
|
+
should fail_to_parse /Expected \[0-9A-Fa-f\] at .* after aa is written as b\(0xD$/
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should fail to parse a negative number with an intervening space" do
|
@@ -115,7 +115,7 @@ describe "ASTs from Derived Fact Types with expressions" do
|
|
115
115
|
it "should fail to parse a contracted comparison that doesn't follow a role" do
|
116
116
|
%q{
|
117
117
|
Director is old: Person directs company, Person is of Age considerable > 3*20;
|
118
|
-
}.should fail_to_parse /Expected (.|\n)* after (.|\n)* Age considerable
|
118
|
+
}.should fail_to_parse /Expected (.|\n)* after (.|\n)* Age considerable > 3\*20;\n *$/
|
119
119
|
end
|
120
120
|
|
121
121
|
it "should parse pre and post-qualifiers and leading and trailing adjectives with contracted comparisons" do
|
data/spec/cql_dm_spec.rb
CHANGED
@@ -23,6 +23,8 @@
|
|
23
23
|
# so if the final query is what you're after, then you'll have to
|
24
24
|
# hook those both instead.
|
25
25
|
|
26
|
+
if false
|
27
|
+
|
26
28
|
require 'spec_helper'
|
27
29
|
require 'stringio'
|
28
30
|
require 'activefacts/vocabulary'
|
@@ -32,6 +34,17 @@ require 'activefacts/generate/dm'
|
|
32
34
|
require 'dm-core'
|
33
35
|
require 'dm-core/spec/lib/spec_helper'
|
34
36
|
|
37
|
+
#def SecureRandom.uuid
|
38
|
+
# @@counter ||= 99999999999
|
39
|
+
# h = "%032X" % @@counter
|
40
|
+
# @@counter -= 1
|
41
|
+
# h.
|
42
|
+
# sub(
|
43
|
+
# @@format_pattern ||= /(........)(....)(....)(....)(............)/,
|
44
|
+
# @@format_string ||= '\1-\2-\3-\4-\5'
|
45
|
+
# )
|
46
|
+
#end
|
47
|
+
|
35
48
|
describe "CQL Loader with DataMapper output" do
|
36
49
|
cql_failures = { # These CQL files can't be compiled
|
37
50
|
}
|
@@ -119,3 +132,5 @@ describe "CQL Loader with DataMapper output" do
|
|
119
132
|
end
|
120
133
|
end
|
121
134
|
end
|
135
|
+
|
136
|
+
end # if false
|
data/spec/cql_mysql_spec.rb
CHANGED
@@ -31,7 +31,7 @@ describe "CQL Loader with SQL output" do
|
|
31
31
|
pattern = ENV["AFTESTS"] || "*"
|
32
32
|
Dir["examples/CQL/#{pattern}.cql"].each do |cql_file|
|
33
33
|
actual_file = cql_file.sub(%r{examples/CQL/(.*).cql}, 'spec/actual/\1.my.sql')
|
34
|
-
expected_file = cql_file.sub(%r{examples/CQL/(.*).cql\Z}, 'examples/MySQL/\1.sql')
|
34
|
+
expected_file = cql_file.sub(%r{examples/CQL/(.*).cql\Z}, 'examples/MySQL/\1.my.sql')
|
35
35
|
|
36
36
|
next unless ENV["AFTESTS"] || File.exists?(expected_file)
|
37
37
|
|
data/spec/cqldump_spec.rb
CHANGED
@@ -16,8 +16,8 @@ describe "CQL Dumper" do
|
|
16
16
|
before :each do
|
17
17
|
@constellation = ActiveFacts::API::Constellation.new(ActiveFacts::Metamodel)
|
18
18
|
@vocabulary = @constellation.Vocabulary("TestVocab")
|
19
|
-
@string_type = @constellation.ValueType(@vocabulary, "String", :
|
20
|
-
@integer_type = @constellation.ValueType(@vocabulary, "Integer", :
|
19
|
+
@string_type = @constellation.ValueType(@vocabulary, "String", :concept => :new)
|
20
|
+
@integer_type = @constellation.ValueType(@vocabulary, "Integer", :concept => :new)
|
21
21
|
@dumper = ActiveFacts::Generate::CQL.new(@constellation)
|
22
22
|
end
|
23
23
|
|
@@ -29,7 +29,7 @@ describe "CQL Dumper" do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "should dump a String ValueType" do
|
32
|
-
vt = @constellation.ValueType(@vocabulary, "Name", :supertype => @string_type, :length => 20, :
|
32
|
+
vt = @constellation.ValueType(@vocabulary, "Name", :supertype => @string_type, :length => 20, :concept => :new)
|
33
33
|
vt.supertype = @string_type
|
34
34
|
vt.length = 20
|
35
35
|
#p vt.class.roles.keys.sort_by{|s| s.to_s}
|
@@ -46,7 +46,7 @@ END
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should dump an Integer ValueType" do
|
49
|
-
vt = @constellation.ValueType(@vocabulary, "Count", :supertype => @integer_type, :length => 32, :
|
49
|
+
vt = @constellation.ValueType(@vocabulary, "Count", :supertype => @integer_type, :length => 32, :concept => :new)
|
50
50
|
cql.should == <<END
|
51
51
|
vocabulary TestVocab;
|
52
52
|
|
@@ -60,9 +60,9 @@ END
|
|
60
60
|
|
61
61
|
def value_type(name, datatype = "String", length = 0, scale = 0)
|
62
62
|
dt = @constellation.ValueType[[@vocabulary.identifying_role_values, datatype]] ||
|
63
|
-
@constellation.ValueType(@vocabulary, datatype, :
|
63
|
+
@constellation.ValueType(@vocabulary, datatype, :concept => :new)
|
64
64
|
vt = @constellation.ValueType[[@vocabulary.identifying_role_values, name]] ||
|
65
|
-
@constellation.ValueType(@vocabulary, name, :supertype => dt, :
|
65
|
+
@constellation.ValueType(@vocabulary, name, :supertype => dt, :concept => :new)
|
66
66
|
vt.length = length if length != 0
|
67
67
|
vt.scale = scale if scale != 0
|
68
68
|
vt
|
@@ -71,8 +71,8 @@ END
|
|
71
71
|
def one_to_many(one, many, reading)
|
72
72
|
# Combine them with a fact type:
|
73
73
|
ft = @constellation.FactType(:new)
|
74
|
-
role0 = @constellation.Role(ft, 0, :object_type => one, :
|
75
|
-
role1 = @constellation.Role(ft, 1, :object_type => many, :
|
74
|
+
role0 = @constellation.Role(ft, 0, :object_type => one, :concept => :new)
|
75
|
+
role1 = @constellation.Role(ft, 1, :object_type => many, :concept => :new)
|
76
76
|
|
77
77
|
# Make a role sequence:
|
78
78
|
rs = @constellation.RoleSequence(:new)
|
@@ -93,8 +93,8 @@ END
|
|
93
93
|
def one_to_one(first, second, reading)
|
94
94
|
# Combine them with a fact type:
|
95
95
|
ft = @constellation.FactType(:new)
|
96
|
-
role0 = @constellation.Role(ft, 0, :object_type => first, :
|
97
|
-
role1 = @constellation.Role(ft, 1, :object_type => second, :
|
96
|
+
role0 = @constellation.Role(ft, 0, :object_type => first, :concept => :new)
|
97
|
+
role1 = @constellation.Role(ft, 1, :object_type => second, :concept => :new)
|
98
98
|
|
99
99
|
# Make a role sequence for the reading
|
100
100
|
rs = @constellation.RoleSequence(:new)
|
@@ -144,8 +144,8 @@ END
|
|
144
144
|
end
|
145
145
|
|
146
146
|
it "should dump an named EntityType" do
|
147
|
-
vt = @constellation.ValueType(@vocabulary, "Name", :supertype => @string_type, :length => 20, :
|
148
|
-
et = @constellation.EntityType(@vocabulary, "Company", :
|
147
|
+
vt = @constellation.ValueType(@vocabulary, "Name", :supertype => @string_type, :length => 20, :concept => :new)
|
148
|
+
et = @constellation.EntityType(@vocabulary, "Company", :concept => :new)
|
149
149
|
|
150
150
|
ft = one_to_one(et, vt, "{0} is called {1}")
|
151
151
|
|
data/spec/norma_cql_spec.rb
CHANGED
@@ -17,7 +17,6 @@ describe "Norma Loader" do
|
|
17
17
|
orm_cql_failures = {
|
18
18
|
# "OddIdentifier" => "Strange identification pattern is incorrectly verbalised to CQL", # Fixed
|
19
19
|
"UnaryIdentification" => "No PI for VisitStatus",
|
20
|
-
"Supervision" => "Derivations are not imported from NORMA",
|
21
20
|
}
|
22
21
|
# Generate and return the CQL for the given vocabulary
|
23
22
|
def cql(vocabulary)
|
data/spec/norma_ruby_sql_spec.rb
CHANGED
@@ -23,7 +23,7 @@ describe "Column lists from absorption compared with Ruby's" do
|
|
23
23
|
# Generate and return the Ruby for the given vocabulary
|
24
24
|
def ruby(vocabulary)
|
25
25
|
output = StringIO.new
|
26
|
-
@dumper = ActiveFacts::Generate::RUBY.new(vocabulary.constellation, "sql")
|
26
|
+
@dumper = ActiveFacts::Generate::RUBY.new(vocabulary.constellation, "mapping=sql")
|
27
27
|
@dumper.generate(output)
|
28
28
|
output.rewind
|
29
29
|
output.read
|
@@ -89,7 +89,8 @@ describe "Column lists from absorption compared with Ruby's" do
|
|
89
89
|
mod = eval(vocabulary.name)
|
90
90
|
ruby_tables = mod.constants.map{|n|
|
91
91
|
c = mod.const_get(n)
|
92
|
-
|
92
|
+
next unless c.class == Class
|
93
|
+
c.is_table ? c : nil
|
93
94
|
}.compact.sort_by{|c|
|
94
95
|
c.basename
|
95
96
|
}
|
data/spec/norma_tables_spec.rb
CHANGED
@@ -18,7 +18,7 @@ require 'activefacts/input/orm'
|
|
18
18
|
orm_failures = {
|
19
19
|
}
|
20
20
|
norma_table_exceptions = {
|
21
|
-
"Metamodel" => [%w{
|
21
|
+
"Metamodel" => [%w{Query}, %w{Agreement Enforcement Comment ContactReport ID Money Nr Photo ReferenceCheck Resource TimeDivision}], # ActiveFacts absorbs Agreement into ContextNote, Enforcement into Constraint, lots into Concept
|
22
22
|
"MetamodelNext" => [[], %w{Agreement Enforcement TypeInheritance}],
|
23
23
|
"Orienteering" => [%w{Punch}, []], # NORMA doesn't make a table for the IDENTITY field
|
24
24
|
"OrienteeringER" => [%w{SeriesEvent}, []], # NORMA doesn't make a table for the IDENTITY field
|
metadata
CHANGED
@@ -1,34 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activefacts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Clifford Heath
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activefacts-api
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
17
20
|
- - ~>
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: '1'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.3'
|
24
30
|
- - ~>
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: '1'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rbtree-pure
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.1.1
|
40
|
+
- - ~>
|
32
41
|
- !ruby/object:Gem::Version
|
33
42
|
version: '0'
|
34
43
|
type: :runtime
|
@@ -36,6 +45,9 @@ dependencies:
|
|
36
45
|
version_requirements: !ruby/object:Gem::Requirement
|
37
46
|
requirements:
|
38
47
|
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.1.1
|
50
|
+
- - ~>
|
39
51
|
- !ruby/object:Gem::Version
|
40
52
|
version: '0'
|
41
53
|
- !ruby/object:Gem::Dependency
|
@@ -45,6 +57,9 @@ dependencies:
|
|
45
57
|
- - ! '>='
|
46
58
|
- !ruby/object:Gem::Version
|
47
59
|
version: 1.4.14
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '1.4'
|
48
63
|
type: :runtime
|
49
64
|
prerelease: false
|
50
65
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -52,230 +67,171 @@ dependencies:
|
|
52
67
|
- - ! '>='
|
53
68
|
- !ruby/object:Gem::Version
|
54
69
|
version: 1.4.14
|
70
|
+
- - ~>
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '1.4'
|
55
73
|
- !ruby/object:Gem::Dependency
|
56
74
|
name: nokogiri
|
57
75
|
requirement: !ruby/object:Gem::Requirement
|
58
76
|
requirements:
|
59
77
|
- - ! '>='
|
60
78
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
79
|
+
version: '1.6'
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1'
|
62
83
|
type: :runtime
|
63
84
|
prerelease: false
|
64
85
|
version_requirements: !ruby/object:Gem::Requirement
|
65
86
|
requirements:
|
66
87
|
- - ! '>='
|
67
88
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
89
|
+
version: '1.6'
|
90
|
+
- - ~>
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '1'
|
69
93
|
- !ruby/object:Gem::Dependency
|
70
94
|
name: rake
|
71
95
|
requirement: !ruby/object:Gem::Requirement
|
72
96
|
requirements:
|
73
|
-
- -
|
97
|
+
- - ~>
|
74
98
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
99
|
+
version: '10'
|
76
100
|
type: :runtime
|
77
101
|
prerelease: false
|
78
102
|
version_requirements: !ruby/object:Gem::Requirement
|
79
103
|
requirements:
|
80
|
-
- -
|
104
|
+
- - ~>
|
81
105
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
106
|
+
version: '10'
|
83
107
|
- !ruby/object:Gem::Dependency
|
84
108
|
name: debugger
|
85
109
|
requirement: !ruby/object:Gem::Requirement
|
86
110
|
requirements:
|
87
|
-
- -
|
111
|
+
- - ~>
|
88
112
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
113
|
+
version: '1'
|
90
114
|
type: :development
|
91
115
|
prerelease: false
|
92
116
|
version_requirements: !ruby/object:Gem::Requirement
|
93
117
|
requirements:
|
94
|
-
- -
|
118
|
+
- - ~>
|
95
119
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
120
|
+
version: '1'
|
97
121
|
- !ruby/object:Gem::Dependency
|
98
122
|
name: activesupport
|
99
123
|
requirement: !ruby/object:Gem::Requirement
|
100
124
|
requirements:
|
101
|
-
- -
|
125
|
+
- - ~>
|
102
126
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
127
|
+
version: '4'
|
104
128
|
type: :development
|
105
129
|
prerelease: false
|
106
130
|
version_requirements: !ruby/object:Gem::Requirement
|
107
131
|
requirements:
|
108
|
-
- -
|
132
|
+
- - ~>
|
109
133
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
134
|
+
version: '4'
|
111
135
|
- !ruby/object:Gem::Dependency
|
112
136
|
name: dm-core
|
113
137
|
requirement: !ruby/object:Gem::Requirement
|
114
138
|
requirements:
|
115
139
|
- - ! '>='
|
116
140
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
118
|
-
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ! '>='
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: dm-constraints
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ! '>='
|
141
|
+
version: '1.2'
|
142
|
+
- - ~>
|
130
143
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
144
|
+
version: '1'
|
132
145
|
type: :development
|
133
146
|
prerelease: false
|
134
147
|
version_requirements: !ruby/object:Gem::Requirement
|
135
148
|
requirements:
|
136
149
|
- - ! '>='
|
137
150
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
139
|
-
-
|
140
|
-
name: dm-migrations
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - ! '>='
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '0'
|
146
|
-
type: :development
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - ! '>='
|
151
|
+
version: '1.2'
|
152
|
+
- - ~>
|
151
153
|
- !ruby/object:Gem::Version
|
152
|
-
version: '
|
154
|
+
version: '1'
|
153
155
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
156
|
+
name: dm-constraints
|
155
157
|
requirement: !ruby/object:Gem::Requirement
|
156
158
|
requirements:
|
157
159
|
- - ! '>='
|
158
160
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - ! '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: '0'
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: rspec
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
161
|
+
version: '1.2'
|
171
162
|
- - ~>
|
172
163
|
- !ruby/object:Gem::Version
|
173
|
-
version:
|
164
|
+
version: '1'
|
174
165
|
type: :development
|
175
166
|
prerelease: false
|
176
167
|
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - ~>
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 2.11.0
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: activefacts-api
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - ~>
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 0.9.1
|
188
|
-
type: :runtime
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - ~>
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 0.9.1
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: treetop
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
168
|
requirements:
|
199
169
|
- - ! '>='
|
200
170
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
202
|
-
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - ! '>='
|
171
|
+
version: '1.2'
|
172
|
+
- - ~>
|
207
173
|
- !ruby/object:Gem::Version
|
208
|
-
version: '
|
174
|
+
version: '1'
|
209
175
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
176
|
+
name: dm-migrations
|
211
177
|
requirement: !ruby/object:Gem::Requirement
|
212
178
|
requirements:
|
213
179
|
- - ! '>='
|
214
180
|
- !ruby/object:Gem::Version
|
215
|
-
version: '
|
216
|
-
type: :runtime
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - ! '>='
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: '0'
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: rspec
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
181
|
+
version: '1.2'
|
227
182
|
- - ~>
|
228
183
|
- !ruby/object:Gem::Version
|
229
|
-
version:
|
184
|
+
version: '1'
|
230
185
|
type: :development
|
231
186
|
prerelease: false
|
232
187
|
version_requirements: !ruby/object:Gem::Requirement
|
233
188
|
requirements:
|
234
|
-
- -
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: 2.3.0
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: bundler
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - ~>
|
189
|
+
- - ! '>='
|
242
190
|
- !ruby/object:Gem::Version
|
243
|
-
version: 1.
|
244
|
-
type: :development
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
191
|
+
version: '1.2'
|
248
192
|
- - ~>
|
249
193
|
- !ruby/object:Gem::Version
|
250
|
-
version: 1
|
194
|
+
version: '1'
|
251
195
|
- !ruby/object:Gem::Dependency
|
252
196
|
name: jeweler
|
253
197
|
requirement: !ruby/object:Gem::Requirement
|
254
198
|
requirements:
|
199
|
+
- - ! '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '2.0'
|
255
202
|
- - ~>
|
256
203
|
- !ruby/object:Gem::Version
|
257
|
-
version:
|
204
|
+
version: '2'
|
258
205
|
type: :development
|
259
206
|
prerelease: false
|
260
207
|
version_requirements: !ruby/object:Gem::Requirement
|
261
208
|
requirements:
|
209
|
+
- - ! '>='
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '2.0'
|
262
212
|
- - ~>
|
263
213
|
- !ruby/object:Gem::Version
|
264
|
-
version:
|
214
|
+
version: '2'
|
265
215
|
- !ruby/object:Gem::Dependency
|
266
|
-
name:
|
216
|
+
name: rspec
|
267
217
|
requirement: !ruby/object:Gem::Requirement
|
268
218
|
requirements:
|
269
219
|
- - ! '>='
|
270
220
|
- !ruby/object:Gem::Version
|
271
|
-
version: 2.
|
221
|
+
version: 2.11.0
|
222
|
+
- - ~>
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: '2.11'
|
272
225
|
type: :development
|
273
226
|
prerelease: false
|
274
227
|
version_requirements: !ruby/object:Gem::Requirement
|
275
228
|
requirements:
|
276
229
|
- - ! '>='
|
277
230
|
- !ruby/object:Gem::Version
|
278
|
-
version: 2.
|
231
|
+
version: 2.11.0
|
232
|
+
- - ~>
|
233
|
+
- !ruby/object:Gem::Version
|
234
|
+
version: '2.11'
|
279
235
|
description: ! '
|
280
236
|
|
281
237
|
ActiveFacts provides a semantic modeling language, the Constellation
|
@@ -319,12 +275,9 @@ files:
|
|
319
275
|
- examples/CQL/Diplomacy.cql
|
320
276
|
- examples/CQL/Genealogy.cql
|
321
277
|
- examples/CQL/Insurance.cql
|
322
|
-
- examples/CQL/JoinEquality.cql
|
323
278
|
- examples/CQL/Marriage.cql
|
324
279
|
- examples/CQL/Metamodel.cql
|
325
280
|
- examples/CQL/Monogamy.cql
|
326
|
-
- examples/CQL/MonthInSeason.cql
|
327
|
-
- examples/CQL/Moon.cql
|
328
281
|
- examples/CQL/MultiInheritance.cql
|
329
282
|
- examples/CQL/NonRoleId.cql
|
330
283
|
- examples/CQL/OddIdentifier.cql
|
@@ -337,9 +290,7 @@ files:
|
|
337
290
|
- examples/CQL/SeparateSubtype.cql
|
338
291
|
- examples/CQL/ServiceDirector.cql
|
339
292
|
- examples/CQL/SimplestUnary.cql
|
340
|
-
- examples/CQL/SubtypePI.cql
|
341
293
|
- examples/CQL/Supervision.cql
|
342
|
-
- examples/CQL/Tests.Test5.Load.cql
|
343
294
|
- examples/CQL/WaiterTips.cql
|
344
295
|
- examples/CQL/Warehousing.cql
|
345
296
|
- examples/CQL/WindowInRoomInBldg.cql
|
@@ -478,7 +429,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
478
429
|
version: '0'
|
479
430
|
requirements: []
|
480
431
|
rubyforge_project:
|
481
|
-
rubygems_version: 2.
|
432
|
+
rubygems_version: 2.2.2
|
482
433
|
signing_key:
|
483
434
|
specification_version: 4
|
484
435
|
summary: A semantic modeling and query language (CQL) and application runtime (the
|