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.
Files changed (42) hide show
  1. checksums.yaml +8 -8
  2. data/Rakefile +0 -8
  3. data/examples/CQL/CompanyDirectorEmployee.cql +12 -8
  4. data/examples/CQL/Metamodel.cql +40 -24
  5. data/examples/CQL/OilSupply.cql +10 -8
  6. data/examples/CQL/unit.cql +52 -51
  7. data/lib/activefacts/cql/LexicalRules.treetop +1 -1
  8. data/lib/activefacts/cql/compiler.rb +1 -1
  9. data/lib/activefacts/cql/compiler/clause.rb +16 -24
  10. data/lib/activefacts/cql/compiler/constraint.rb +4 -4
  11. data/lib/activefacts/cql/compiler/entity_type.rb +16 -16
  12. data/lib/activefacts/cql/compiler/expression.rb +3 -3
  13. data/lib/activefacts/cql/compiler/fact.rb +1 -1
  14. data/lib/activefacts/cql/compiler/fact_type.rb +14 -4
  15. data/lib/activefacts/cql/compiler/shared.rb +1 -1
  16. data/lib/activefacts/cql/compiler/value_type.rb +2 -2
  17. data/lib/activefacts/generate/cql.rb +10 -34
  18. data/lib/activefacts/generate/helpers/oo.rb +10 -6
  19. data/lib/activefacts/generate/helpers/ordered.rb +32 -6
  20. data/lib/activefacts/generate/json.rb +2 -2
  21. data/lib/activefacts/generate/ruby.rb +7 -15
  22. data/lib/activefacts/generate/transform/surrogate.rb +7 -7
  23. data/lib/activefacts/input/orm.rb +23 -26
  24. data/lib/activefacts/persistence/index.rb +1 -1
  25. data/lib/activefacts/persistence/reference.rb +5 -2
  26. data/lib/activefacts/version.rb +3 -3
  27. data/lib/activefacts/vocabulary/extensions.rb +59 -19
  28. data/lib/activefacts/vocabulary/metamodel.rb +30 -14
  29. data/spec/cql/parser/bad_literals_spec.rb +1 -1
  30. data/spec/cql/parser/expressions_spec.rb +1 -1
  31. data/spec/cql_dm_spec.rb +15 -0
  32. data/spec/cql_mysql_spec.rb +1 -1
  33. data/spec/cqldump_spec.rb +12 -12
  34. data/spec/norma_cql_spec.rb +0 -1
  35. data/spec/norma_ruby_sql_spec.rb +3 -2
  36. data/spec/norma_tables_spec.rb +1 -1
  37. metadata +78 -127
  38. data/examples/CQL/JoinEquality.cql +0 -35
  39. data/examples/CQL/MonthInSeason.cql +0 -23
  40. data/examples/CQL/Moon.cql +0 -23
  41. data/examples/CQL/SubtypePI.cql +0 -31
  42. 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 TransactionTiming < String
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 < Concept
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 :fact_type, :mandatory => true # See FactType.all_ring_constraint_shape
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 :transaction_timing # See TransactionTiming.all_value_type
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 (.|\n)* at .* after aa is written as b\(0$/
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
@@ -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
@@ -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
 
@@ -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", :guid => :new)
20
- @integer_type = @constellation.ValueType(@vocabulary, "Integer", :guid => :new)
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, :guid => :new)
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, :guid => :new)
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, :guid => :new)
63
+ @constellation.ValueType(@vocabulary, datatype, :concept => :new)
64
64
  vt = @constellation.ValueType[[@vocabulary.identifying_role_values, name]] ||
65
- @constellation.ValueType(@vocabulary, name, :supertype => dt, :guid => :new)
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, :guid => :new)
75
- role1 = @constellation.Role(ft, 1, :object_type => many, :guid => :new)
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, :guid => :new)
97
- role1 = @constellation.Role(ft, 1, :object_type => second, :guid => :new)
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, :guid => :new)
148
- et = @constellation.EntityType(@vocabulary, "Company", :guid => :new)
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
 
@@ -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)
@@ -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
- c.class == Class && c.is_table ? c : nil
92
+ next unless c.class == Class
93
+ c.is_table ? c : nil
93
94
  }.compact.sort_by{|c|
94
95
  c.basename
95
96
  }
@@ -18,7 +18,7 @@ require 'activefacts/input/orm'
18
18
  orm_failures = {
19
19
  }
20
20
  norma_table_exceptions = {
21
- "Metamodel" => [%w{Concept}, %w{Agreement Enforcement}], # ActiveFacts absorbs Agreement into ContextNote, Enforcement into Constraint
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.8.18
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: 2013-11-15 00:00:00.000000000 Z
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: 0.9.8
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: 0.9.8
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
118
- type: :development
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: '0'
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: '0'
139
- - !ruby/object:Gem::Dependency
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: '0'
154
+ version: '1'
153
155
  - !ruby/object:Gem::Dependency
154
- name: jeweler
156
+ name: dm-constraints
155
157
  requirement: !ruby/object:Gem::Requirement
156
158
  requirements:
157
159
  - - ! '>='
158
160
  - !ruby/object:Gem::Version
159
- version: '0'
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: 2.11.0
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: '0'
202
- type: :runtime
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: '0'
174
+ version: '1'
209
175
  - !ruby/object:Gem::Dependency
210
- name: nokogiri
176
+ name: dm-migrations
211
177
  requirement: !ruby/object:Gem::Requirement
212
178
  requirements:
213
179
  - - ! '>='
214
180
  - !ruby/object:Gem::Version
215
- version: '0'
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: 2.3.0
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.0.0
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.0.0
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: 1.5.2
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: 1.5.2
214
+ version: '2'
265
215
  - !ruby/object:Gem::Dependency
266
- name: rdoc
216
+ name: rspec
267
217
  requirement: !ruby/object:Gem::Requirement
268
218
  requirements:
269
219
  - - ! '>='
270
220
  - !ruby/object:Gem::Version
271
- version: 2.4.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.4.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.1.10
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