activefacts-api 0.9.8 → 0.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +9 -9
- data/Rakefile +0 -5
- data/VERSION +1 -1
- data/activefacts-api.gemspec +27 -37
- data/lib/activefacts/api.rb +1 -0
- data/lib/activefacts/api/entity.rb +4 -4
- data/lib/activefacts/api/fact_type.rb +19 -0
- data/lib/activefacts/api/object_type.rb +7 -9
- data/lib/activefacts/api/role.rb +15 -12
- metadata +25 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d98f2a57181b4caad266b2b2aee333fe9f685835
|
4
|
+
data.tar.gz: 8d32f6cb29ad9020d0e4ddc268bee3dc59cd7b9f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1f5f6c8d57a313f4185690394f93d6ff467849c311d790f5b7cb72f2da0676a3ee81d7edaa2595bf4d9fd5389393c392465d4a673c8064740a82365c14d9fc1
|
7
|
+
data.tar.gz: 108dd965bb01572596358a5cca3fa7f0c9f31c279c425ccd622e0ffb926e80550b471d9e32844cd38b15a0946f21c08503511e9213784992e44237006dea3f82
|
data/Gemfile
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'rake', '
|
4
|
-
gem 'rbtree-pure'
|
3
|
+
gem 'rake', '~> 10.1', :group => [:development, :test]
|
4
|
+
gem 'rbtree-pure', '~> 0'
|
5
5
|
|
6
6
|
group :development do
|
7
|
-
gem 'jeweler'
|
8
|
-
gem 'rspec', '~>2.6.0'
|
9
|
-
gem 'ruby-debug', :platforms => [:mri_18]
|
10
|
-
gem 'debugger', :platforms => [:mri_19,
|
7
|
+
gem 'jeweler', '~> 0'
|
8
|
+
gem 'rspec', '~> 2.6', '>= 2.6.0'
|
9
|
+
gem 'ruby-debug', '~> 0', :platforms => [:mri_18]
|
10
|
+
gem 'debugger', '~> 0', :platforms => [:mri_19,
|
11
11
|
(['1.8.7', '1.9.2'].include?(RUBY_VERSION) || RUBY_PLATFORM == 'java') ? nil : :mri_20
|
12
12
|
].compact
|
13
|
-
gem 'pry', :platforms => [:jruby, :rbx]
|
13
|
+
gem 'pry', '~> 0', :platforms => [:jruby, :rbx]
|
14
14
|
end
|
15
15
|
|
16
16
|
group :test do
|
17
17
|
# rcov 1.0.0 is broken for jruby, so 0.9.11 is the only one available.
|
18
|
-
gem 'rcov', '~>0.9.11', :platforms => [:jruby, :mri_18], :require => false
|
19
|
-
gem 'simplecov', '~>0.6.4', :platforms => :mri_19, :require => false
|
18
|
+
gem 'rcov', '~> 0.9.11', :platforms => [:jruby, :mri_18], :require => false
|
19
|
+
gem 'simplecov', '~> 0.6', '>= 0.6.4', :platforms => :mri_19, :require => false
|
20
20
|
end
|
data/Rakefile
CHANGED
@@ -19,11 +19,6 @@ over the fact population.
|
|
19
19
|
gem.authors = ["Clifford Heath"]
|
20
20
|
# Include your dependencies below. Runtime dependencies are required when using your gem,
|
21
21
|
# and development dependencies are only needed for development (ie running rake tasks, tests, etc)
|
22
|
-
gem.add_development_dependency "rspec", "~> 2.3.0"
|
23
|
-
gem.add_development_dependency "bundler", "~> 1.0.0"
|
24
|
-
gem.add_development_dependency "jeweler", "~> 1.5.2"
|
25
|
-
# gem.add_development_dependency "rcov", ">= 0"
|
26
|
-
gem.add_development_dependency "rdoc", ">= 2.4.2"
|
27
22
|
end
|
28
23
|
Jeweler::RubygemsDotOrgTasks.new
|
29
24
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.9
|
data/activefacts-api.gemspec
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: activefacts-api 0.9.9 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "activefacts-api"
|
8
|
-
s.version = "0.9.
|
9
|
+
s.version = "0.9.9"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Clifford Heath"]
|
12
|
-
s.date = "
|
14
|
+
s.date = "2014-02-14"
|
13
15
|
s.description = "\nThe ActiveFacts API is a Ruby DSL for managing constellations of elementary facts.\nEach fact is either existential (a value or an entity), characteristic (boolean) or\nbinary relational (A rel B). Relational facts are consistently co-referenced, so you\ncan traverse them efficiently in any direction. Each constellation maintains constraints\nover the fact population.\n"
|
14
16
|
s.email = "clifford.heath@gmail.com"
|
15
17
|
s.extra_rdoc_files = [
|
@@ -32,6 +34,7 @@ Gem::Specification.new do |s|
|
|
32
34
|
"lib/activefacts/api/date.rb",
|
33
35
|
"lib/activefacts/api/entity.rb",
|
34
36
|
"lib/activefacts/api/exceptions.rb",
|
37
|
+
"lib/activefacts/api/fact_type.rb",
|
35
38
|
"lib/activefacts/api/guid.rb",
|
36
39
|
"lib/activefacts/api/instance.rb",
|
37
40
|
"lib/activefacts/api/instance_index.rb",
|
@@ -67,50 +70,37 @@ Gem::Specification.new do |s|
|
|
67
70
|
]
|
68
71
|
s.homepage = "http://github.com/cjheath/activefacts-api"
|
69
72
|
s.licenses = ["MIT"]
|
70
|
-
s.
|
71
|
-
s.rubygems_version = "2.0.5"
|
73
|
+
s.rubygems_version = "2.2.1"
|
72
74
|
s.summary = "A fact-based data model DSL and API"
|
73
75
|
|
74
76
|
if s.respond_to? :specification_version then
|
75
77
|
s.specification_version = 4
|
76
78
|
|
77
79
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
78
|
-
s.add_runtime_dependency(%q<rbtree-pure>, ["
|
79
|
-
s.add_development_dependency(%q<rake>, ["
|
80
|
-
s.add_development_dependency(%q<jeweler>, ["
|
81
|
-
s.add_development_dependency(%q<rspec>, ["
|
82
|
-
s.add_development_dependency(%q<ruby-debug>, ["
|
83
|
-
s.add_development_dependency(%q<debugger>, ["
|
84
|
-
s.add_development_dependency(%q<pry>, ["
|
85
|
-
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
86
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
87
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
88
|
-
s.add_development_dependency(%q<rdoc>, [">= 2.4.2"])
|
80
|
+
s.add_runtime_dependency(%q<rbtree-pure>, ["~> 0"])
|
81
|
+
s.add_development_dependency(%q<rake>, ["~> 10.1"])
|
82
|
+
s.add_development_dependency(%q<jeweler>, ["~> 0"])
|
83
|
+
s.add_development_dependency(%q<rspec>, [">= 2.6.0", "~> 2.6"])
|
84
|
+
s.add_development_dependency(%q<ruby-debug>, ["~> 0"])
|
85
|
+
s.add_development_dependency(%q<debugger>, ["~> 0"])
|
86
|
+
s.add_development_dependency(%q<pry>, ["~> 0"])
|
89
87
|
else
|
90
|
-
s.add_dependency(%q<rbtree-pure>, ["
|
91
|
-
s.add_dependency(%q<rake>, ["
|
92
|
-
s.add_dependency(%q<jeweler>, ["
|
93
|
-
s.add_dependency(%q<rspec>, ["
|
94
|
-
s.add_dependency(%q<ruby-debug>, ["
|
95
|
-
s.add_dependency(%q<debugger>, ["
|
96
|
-
s.add_dependency(%q<pry>, ["
|
97
|
-
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
98
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
99
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
100
|
-
s.add_dependency(%q<rdoc>, [">= 2.4.2"])
|
88
|
+
s.add_dependency(%q<rbtree-pure>, ["~> 0"])
|
89
|
+
s.add_dependency(%q<rake>, ["~> 10.1"])
|
90
|
+
s.add_dependency(%q<jeweler>, ["~> 0"])
|
91
|
+
s.add_dependency(%q<rspec>, [">= 2.6.0", "~> 2.6"])
|
92
|
+
s.add_dependency(%q<ruby-debug>, ["~> 0"])
|
93
|
+
s.add_dependency(%q<debugger>, ["~> 0"])
|
94
|
+
s.add_dependency(%q<pry>, ["~> 0"])
|
101
95
|
end
|
102
96
|
else
|
103
|
-
s.add_dependency(%q<rbtree-pure>, ["
|
104
|
-
s.add_dependency(%q<rake>, ["
|
105
|
-
s.add_dependency(%q<jeweler>, ["
|
106
|
-
s.add_dependency(%q<rspec>, ["
|
107
|
-
s.add_dependency(%q<ruby-debug>, ["
|
108
|
-
s.add_dependency(%q<debugger>, ["
|
109
|
-
s.add_dependency(%q<pry>, ["
|
110
|
-
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
111
|
-
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
112
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
113
|
-
s.add_dependency(%q<rdoc>, [">= 2.4.2"])
|
97
|
+
s.add_dependency(%q<rbtree-pure>, ["~> 0"])
|
98
|
+
s.add_dependency(%q<rake>, ["~> 10.1"])
|
99
|
+
s.add_dependency(%q<jeweler>, ["~> 0"])
|
100
|
+
s.add_dependency(%q<rspec>, [">= 2.6.0", "~> 2.6"])
|
101
|
+
s.add_dependency(%q<ruby-debug>, ["~> 0"])
|
102
|
+
s.add_dependency(%q<debugger>, ["~> 0"])
|
103
|
+
s.add_dependency(%q<pry>, ["~> 0"])
|
114
104
|
end
|
115
105
|
end
|
116
106
|
|
data/lib/activefacts/api.rb
CHANGED
@@ -35,6 +35,7 @@ require 'activefacts/api/vocabulary' # A Ruby module may become a Voc
|
|
35
35
|
require 'activefacts/api/instance_index' # The index used by a constellation to record every instance
|
36
36
|
require 'activefacts/api/constellation' # A Constellation is a query result or fact population
|
37
37
|
require 'activefacts/api/object_type' # A Ruby class may become a ObjectType in a Vocabulary
|
38
|
+
require 'activefacts/api/fact_type' # Each role belongs to a single fact type
|
38
39
|
require 'activefacts/api/role' # A ObjectType has a collection of Roles
|
39
40
|
require 'activefacts/api/role_values' # The container used for sets of role players in many_one's
|
40
41
|
require 'activefacts/api/instance' # An Instance is an instance of a ObjectType class
|
@@ -38,7 +38,7 @@ module ActiveFacts
|
|
38
38
|
value =
|
39
39
|
if key == nil
|
40
40
|
nil
|
41
|
-
elsif role.
|
41
|
+
elsif role.unary?
|
42
42
|
(key && true) # Preserve nil and false
|
43
43
|
else
|
44
44
|
role.counterpart.object_type.assert_instance(constellation, Array(key))
|
@@ -313,7 +313,7 @@ module ActiveFacts
|
|
313
313
|
end.map do |role|
|
314
314
|
if arg_hash.include?(n = role.name) # Do it this way to avoid problems where nil or false is provided
|
315
315
|
value = arg_hash[n]
|
316
|
-
next (value && true) if (role.
|
316
|
+
next (value && true) if (role.unary?)
|
317
317
|
if value
|
318
318
|
klass = role.counterpart.object_type
|
319
319
|
value = klass.identifying_role_values(constellation, Array(value))
|
@@ -323,7 +323,7 @@ module ActiveFacts
|
|
323
323
|
counterpart_class = role.counterpart && role.counterpart.object_type
|
324
324
|
value = value.identifying_role_values(counterpart_class)
|
325
325
|
arg_hash[n] = value # Save the value for making a new instance
|
326
|
-
next value if (role.
|
326
|
+
next value if (role.unary?)
|
327
327
|
else
|
328
328
|
value = nil
|
329
329
|
end
|
@@ -363,7 +363,7 @@ module ActiveFacts
|
|
363
363
|
value =
|
364
364
|
if v == nil
|
365
365
|
nil
|
366
|
-
elsif role.
|
366
|
+
elsif role.unary?
|
367
367
|
(v && true) # Preserve nil and false
|
368
368
|
else
|
369
369
|
role.counterpart.object_type.assert_instance(constellation, Array(v))
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#
|
2
|
+
# ActiveFacts API
|
3
|
+
# Role class.
|
4
|
+
# Each accessor method created on an instance corresponds to a Role object in the instance's class.
|
5
|
+
# Binary fact types construct a Role at each end.
|
6
|
+
#
|
7
|
+
# Copyright (c) 2009 Clifford Heath. Read the LICENSE file.
|
8
|
+
#
|
9
|
+
module ActiveFacts
|
10
|
+
module API
|
11
|
+
class FactType
|
12
|
+
attr_accessor :all_role
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@all_role = []
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -60,7 +60,8 @@ module ActiveFacts
|
|
60
60
|
# Example: maybe :is_ceo
|
61
61
|
def maybe(role_name, options = {})
|
62
62
|
raise UnrecognisedOptionsException.new("role", role_name, options.keys) unless options.empty?
|
63
|
-
|
63
|
+
fact_type = FactType.new
|
64
|
+
realise_role(roles[role_name] = Role.new(fact_type, self, role_name, false, true))
|
64
65
|
end
|
65
66
|
|
66
67
|
# Define a binary fact type relating this object_type to another,
|
@@ -169,7 +170,7 @@ module ActiveFacts
|
|
169
170
|
|
170
171
|
# Every new role added or inherited comes through here:
|
171
172
|
def realise_role(role) #:nodoc:
|
172
|
-
if (role.
|
173
|
+
if (role.unary?)
|
173
174
|
# Unary role
|
174
175
|
define_unary_role_accessor(role)
|
175
176
|
elsif (role.unique)
|
@@ -211,18 +212,15 @@ module ActiveFacts
|
|
211
212
|
if roles[role_name]
|
212
213
|
raise DuplicateRoleException.new("#{name} cannot have more than one role named #{role_name}")
|
213
214
|
end
|
214
|
-
|
215
|
+
fact_type = FactType.new
|
216
|
+
roles[role_name] = role = Role.new(fact_type, self, role_name, mandatory, true)
|
215
217
|
|
216
218
|
# There may be a forward reference here where role_name is a Symbol,
|
217
219
|
# and the block runs later when that Symbol is bound to the object_type.
|
218
220
|
when_bound(related, self, role_name, related_role_name) do |target, definer, role_name, related_role_name|
|
219
|
-
|
220
|
-
target.roles[related_role_name] = role.counterpart = Role.new(target, role, related_role_name, false)
|
221
|
-
else
|
222
|
-
target.roles[related_role_name] = role.counterpart = Role.new(target, role, related_role_name, false, false)
|
223
|
-
end
|
221
|
+
counterpart = target.roles[related_role_name] = Role.new(fact_type, target, related_role_name, false, one_to_one)
|
224
222
|
realise_role(role)
|
225
|
-
target.realise_role(
|
223
|
+
target.realise_role(counterpart)
|
226
224
|
end
|
227
225
|
end
|
228
226
|
|
data/lib/activefacts/api/role.rb
CHANGED
@@ -14,19 +14,18 @@ module ActiveFacts
|
|
14
14
|
# or _one_to_one_, and the other is created on the counterpart class.
|
15
15
|
# Each ObjectType class maintains a RoleCollection hash of the roles it plays.
|
16
16
|
class Role
|
17
|
+
attr_reader :fact_type # The FactType to which this role belongs
|
17
18
|
attr_reader :object_type # The ObjectType to which this role belongs
|
18
|
-
attr_reader :is_unary
|
19
19
|
attr_reader :name # The name of the role (a Symbol)
|
20
|
-
attr_accessor :counterpart # All roles except unaries have a counterpart Role
|
21
20
|
attr_reader :unique # Is this role played by at most one instance, or more?
|
22
21
|
attr_reader :mandatory # In a valid fact population, is this role required to be played?
|
23
22
|
attr_reader :value_constraint # Counterpart Instances playing this role must meet this constraint
|
24
23
|
attr_reader :is_identifying # Is this an identifying role for object_type?
|
25
24
|
|
26
|
-
def initialize(
|
25
|
+
def initialize(fact_type, object_type, name, mandatory, unique)
|
26
|
+
@fact_type = fact_type
|
27
|
+
@fact_type.all_role << self
|
27
28
|
@object_type = object_type
|
28
|
-
@is_unary = counterpart == TrueClass
|
29
|
-
@counterpart = @is_unary ? nil : counterpart
|
30
29
|
@name = name
|
31
30
|
@mandatory = mandatory
|
32
31
|
@unique = unique
|
@@ -34,6 +33,16 @@ module ActiveFacts
|
|
34
33
|
associate_role(@object_type)
|
35
34
|
end
|
36
35
|
|
36
|
+
# Is this role a unary (created by maybe)?
|
37
|
+
def unary?
|
38
|
+
# N.B. A role with a forward reference looks unary until it is resolved.
|
39
|
+
@fact_type.all_role.size == 1
|
40
|
+
end
|
41
|
+
|
42
|
+
def counterpart
|
43
|
+
@counterpart ||= (@fact_type.all_role - [self])[0]
|
44
|
+
end
|
45
|
+
|
37
46
|
# Return the name of the getter method
|
38
47
|
def getter
|
39
48
|
@getter ||= @name.to_sym
|
@@ -49,19 +58,13 @@ module ActiveFacts
|
|
49
58
|
@variable ||= "@#{@name}"
|
50
59
|
end
|
51
60
|
|
52
|
-
# Is this role a unary (created by maybe)? If so, it has no counterpart
|
53
|
-
def unary?
|
54
|
-
# N.B. A role with a forward reference looks unary until it is resolved.
|
55
|
-
counterpart == nil
|
56
|
-
end
|
57
|
-
|
58
61
|
def inspect
|
59
62
|
"<Role #{object_type.name}.#{name}>"
|
60
63
|
end
|
61
64
|
|
62
65
|
def verbalise
|
63
66
|
"Role #{name} of #{object_type}, " +
|
64
|
-
(
|
67
|
+
(unary? ? 'unary' : (counterpart ? 'played by' + counterpart.object_type : 'undefined'))
|
65
68
|
end
|
66
69
|
|
67
70
|
private
|
metadata
CHANGED
@@ -1,169 +1,119 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activefacts-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.9
|
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-02-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbtree-pure
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.1'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.1'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: jeweler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ~>
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 2.6.0
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
62
|
- - ~>
|
67
63
|
- !ruby/object:Gem::Version
|
68
|
-
version: 2.6
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: ruby-debug
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - '>='
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - '>='
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: debugger
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
64
|
+
version: '2.6'
|
90
65
|
type: :development
|
91
66
|
prerelease: false
|
92
67
|
version_requirements: !ruby/object:Gem::Requirement
|
93
68
|
requirements:
|
94
69
|
- - '>='
|
95
70
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
97
|
-
-
|
98
|
-
name: pry
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - '>='
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - '>='
|
71
|
+
version: 2.6.0
|
72
|
+
- - ~>
|
109
73
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
74
|
+
version: '2.6'
|
111
75
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
76
|
+
name: ruby-debug
|
113
77
|
requirement: !ruby/object:Gem::Requirement
|
114
78
|
requirements:
|
115
79
|
- - ~>
|
116
80
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
81
|
+
version: '0'
|
118
82
|
type: :development
|
119
83
|
prerelease: false
|
120
84
|
version_requirements: !ruby/object:Gem::Requirement
|
121
85
|
requirements:
|
122
86
|
- - ~>
|
123
87
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
88
|
+
version: '0'
|
125
89
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
90
|
+
name: debugger
|
127
91
|
requirement: !ruby/object:Gem::Requirement
|
128
92
|
requirements:
|
129
93
|
- - ~>
|
130
94
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
95
|
+
version: '0'
|
132
96
|
type: :development
|
133
97
|
prerelease: false
|
134
98
|
version_requirements: !ruby/object:Gem::Requirement
|
135
99
|
requirements:
|
136
100
|
- - ~>
|
137
101
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
102
|
+
version: '0'
|
139
103
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
104
|
+
name: pry
|
141
105
|
requirement: !ruby/object:Gem::Requirement
|
142
106
|
requirements:
|
143
107
|
- - ~>
|
144
108
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
109
|
+
version: '0'
|
146
110
|
type: :development
|
147
111
|
prerelease: false
|
148
112
|
version_requirements: !ruby/object:Gem::Requirement
|
149
113
|
requirements:
|
150
114
|
- - ~>
|
151
115
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: rdoc
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - '>='
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 2.4.2
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - '>='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 2.4.2
|
116
|
+
version: '0'
|
167
117
|
description: |2
|
168
118
|
|
169
119
|
The ActiveFacts API is a Ruby DSL for managing constellations of elementary facts.
|
@@ -186,6 +136,7 @@ files:
|
|
186
136
|
- LICENSE.txt
|
187
137
|
- README.rdoc
|
188
138
|
- Rakefile
|
139
|
+
- TODO
|
189
140
|
- VERSION
|
190
141
|
- activefacts-api.gemspec
|
191
142
|
- lib/activefacts/api.rb
|
@@ -193,6 +144,7 @@ files:
|
|
193
144
|
- lib/activefacts/api/date.rb
|
194
145
|
- lib/activefacts/api/entity.rb
|
195
146
|
- lib/activefacts/api/exceptions.rb
|
147
|
+
- lib/activefacts/api/fact_type.rb
|
196
148
|
- lib/activefacts/api/guid.rb
|
197
149
|
- lib/activefacts/api/instance.rb
|
198
150
|
- lib/activefacts/api/instance_index.rb
|
@@ -225,7 +177,6 @@ files:
|
|
225
177
|
- spec/simplecov_helper.rb
|
226
178
|
- spec/spec_helper.rb
|
227
179
|
- spec/support/reduce_exceptions_helper.rb
|
228
|
-
- TODO
|
229
180
|
homepage: http://github.com/cjheath/activefacts-api
|
230
181
|
licenses:
|
231
182
|
- MIT
|
@@ -246,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
197
|
version: '0'
|
247
198
|
requirements: []
|
248
199
|
rubyforge_project:
|
249
|
-
rubygems_version: 2.
|
200
|
+
rubygems_version: 2.2.1
|
250
201
|
signing_key:
|
251
202
|
specification_version: 4
|
252
203
|
summary: A fact-based data model DSL and API
|