activefacts-api 0.9.8 → 0.9.9
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 +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
|