activefacts 0.8.18 → 1.0.0
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.
- 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
|