dbd_data_engine 0.0.9 → 0.0.10
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/HISTORY.txt +5 -0
- data/app/controllers/dbd_data_engine/resources_controller.rb +1 -4
- data/app/models/dbd_data_engine/context.rb +2 -13
- data/app/models/dbd_data_engine/resource.rb +28 -0
- data/app/views/dbd_data_engine/resources/new.html.haml +1 -1
- data/dbd_data_engine.gemspec +1 -1
- data/lib/dbd_data_engine.rb +1 -0
- data/lib/dbd_data_engine/resource_selectors.rb +19 -0
- data/lib/dbd_data_engine/version.rb +1 -1
- data/spec/features/resources/new_spec.rb +13 -1
- data/spec/models/dbd_data_engine/context/defaults_spec.rb +7 -7
- data/spec/models/dbd_data_engine/context/predicates_spec.rb +6 -4
- data/spec/models/dbd_data_engine/resource/used_predicates_spec.rb +16 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b67549dd442c942904057502724c772be382b9d9
|
4
|
+
data.tar.gz: 7e610615d7d3686fab21c79387dfe520420e9d1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bac716118f130687c49d849f3495e442d55232bfd48ed0465adf350413c8575f8ed90c19adba43ef768d72dc98d44fbb631835d620a7355f4d1059db7b14356
|
7
|
+
data.tar.gz: 124114be5f6e8cfcb5e8e1d9a283939f59f1ed55be40fdf3afaadc96fdc2101c3ce9a1b63a15d21bb11c9f120f1dfe61d80fb138365c0f88aac538464c2d31a9
|
data/HISTORY.txt
CHANGED
@@ -9,7 +9,7 @@ module DbdDataEngine
|
|
9
9
|
|
10
10
|
def new
|
11
11
|
@contexts = ['public today', 'personal today', 'business today']
|
12
|
-
@predicates =
|
12
|
+
@predicates = Resource.used_predicates
|
13
13
|
end
|
14
14
|
|
15
15
|
def create
|
@@ -54,8 +54,5 @@ module DbdDataEngine
|
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
57
|
-
def predicates_for_new
|
58
|
-
['schema:givenName','schema:familyName']
|
59
|
-
end
|
60
57
|
end
|
61
58
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module DbdDataEngine
|
2
2
|
class Context
|
3
3
|
|
4
|
+
extend ::DbdDataEngine::ResourceSelectors
|
5
|
+
|
4
6
|
def self.predicates
|
5
7
|
resources = ::DbdOnto::Context.new.resources
|
6
8
|
predicate_defining_resources = select_with_defines_predicate(resources)
|
@@ -98,14 +100,6 @@ module DbdDataEngine
|
|
98
100
|
['dcterms:created','s',today.to_s]]
|
99
101
|
end
|
100
102
|
|
101
|
-
# TODO implement some of these methods on Dbd gem to clean-up
|
102
|
-
|
103
|
-
def self.select_with_defines_predicate(resources)
|
104
|
-
resources.select do |resource|
|
105
|
-
single_fact_on_predicate(resource, 'meta:defines_predicate')
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
103
|
def self.make_predicate_label_hash(resources)
|
110
104
|
resources.map do |resource|
|
111
105
|
predicate = single_fact_on_predicate(resource, 'meta:defines_predicate').object
|
@@ -115,10 +109,5 @@ module DbdDataEngine
|
|
115
109
|
end
|
116
110
|
end
|
117
111
|
|
118
|
-
def self.single_fact_on_predicate(resource, predicate)
|
119
|
-
resource.select do |fact|
|
120
|
-
fact.predicate == predicate
|
121
|
-
end.single
|
122
|
-
end
|
123
112
|
end
|
124
113
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module DbdDataEngine
|
2
|
+
class Resource
|
3
|
+
|
4
|
+
extend ::DbdDataEngine::ResourceSelectors
|
5
|
+
|
6
|
+
def self.used_predicates
|
7
|
+
resources = ::DbdOnto::Schema.new.resources
|
8
|
+
predicate_defining_resources = select_with_defines_predicate(resources)
|
9
|
+
used_predicate_defining_resources = select_used(predicate_defining_resources)
|
10
|
+
extract_defines_predicate_object(used_predicate_defining_resources)
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def self.select_used(resources)
|
16
|
+
resources.select do |resource|
|
17
|
+
single_fact_on_predicate(resource, 'meta:predicate_used')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.extract_defines_predicate_object(resources)
|
22
|
+
resources.map do |resource|
|
23
|
+
single_fact_on_predicate(resource, 'meta:defines_predicate').object
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
= form_tag('/data/resources', method: :post) do # engine controller route not loaded in view tests
|
4
4
|
%p
|
5
5
|
=label_tag('Context')
|
6
|
-
=select_tag('context', options_for_select(@contexts))
|
6
|
+
=select_tag('context', options_for_select(@contexts))
|
7
7
|
%table
|
8
8
|
%tr
|
9
9
|
%th predicate
|
data/dbd_data_engine.gemspec
CHANGED
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
s.add_dependency 'rails', '>= 4.0.2'
|
25
25
|
s.add_dependency 'haml'
|
26
26
|
s.add_dependency 'dbd', '~> 0.1.3'
|
27
|
-
s.add_dependency 'dbd_onto', '~> 0.0.
|
27
|
+
s.add_dependency 'dbd_onto', '~> 0.0.13'
|
28
28
|
|
29
29
|
s.add_development_dependency 'haml-rails'
|
30
30
|
s.add_development_dependency 'rspec-rails'
|
data/lib/dbd_data_engine.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
module DbdDataEngine
|
2
|
+
module ResourceSelectors
|
3
|
+
|
4
|
+
# TODO implement some of these methods on Dbd gem to clean-up
|
5
|
+
|
6
|
+
def select_with_defines_predicate(resources)
|
7
|
+
resources.select do |resource|
|
8
|
+
single_fact_on_predicate(resource, 'meta:defines_predicate')
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def single_fact_on_predicate(resource, predicate)
|
13
|
+
resource.select do |fact|
|
14
|
+
fact.predicate == predicate
|
15
|
+
end.single
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -20,8 +20,16 @@ module DbdDataEngine
|
|
20
20
|
expect(page).to have_css('h1', text: 'Create a new resource')
|
21
21
|
end
|
22
22
|
|
23
|
+
it 'has the schema:about option' do
|
24
|
+
expect(page).to have_css('select#predicate_ > option[value="schema:about"]')
|
25
|
+
end
|
26
|
+
|
23
27
|
it 'has a select box array with schema:givenName as option' do
|
24
|
-
expect(page).to
|
28
|
+
expect(page).to have_css('select#predicate_ > option[value="schema:givenName"]')
|
29
|
+
end
|
30
|
+
|
31
|
+
it 'has a select box array with schema:familyName as option' do
|
32
|
+
expect(page).to have_css('select#predicate_ > option[value="schema:familyName"]')
|
25
33
|
end
|
26
34
|
|
27
35
|
it 'has a field array' do
|
@@ -37,6 +45,10 @@ module DbdDataEngine
|
|
37
45
|
it 'has a select box for the context' do
|
38
46
|
expect(page).to have_select('context', [])
|
39
47
|
end
|
48
|
+
|
49
|
+
it 'has an option "public today"' do
|
50
|
+
expect(page).to have_css('select#context > option[value="public today"]')
|
51
|
+
end
|
40
52
|
end
|
41
53
|
end
|
42
54
|
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
module DbdDataEngine
|
4
4
|
describe Context do
|
5
5
|
|
6
|
-
def
|
6
|
+
def assert_context_has_object(context, object)
|
7
7
|
context.select{ |cf| cf.object.to_s == object }.size.should == 1
|
8
8
|
end
|
9
9
|
|
@@ -20,17 +20,17 @@ module DbdDataEngine
|
|
20
20
|
context 'default_from_params' do
|
21
21
|
it 'returns public_today' do
|
22
22
|
context = described_class.default_from_params('public today', current_graph)
|
23
|
-
|
23
|
+
assert_context_has_object(context, 'public')
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'returns personal_today' do
|
27
27
|
context = described_class.default_from_params('personal today', current_graph)
|
28
|
-
|
28
|
+
assert_context_has_object(context, 'personal')
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'returns business_today' do
|
32
32
|
context = described_class.default_from_params('business today', current_graph)
|
33
|
-
|
33
|
+
assert_context_has_object(context, 'business')
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'raises for inexisting param' do
|
@@ -51,7 +51,7 @@ module DbdDataEngine
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it 'has a public object' do
|
54
|
-
|
54
|
+
assert_context_has_object(context, 'public')
|
55
55
|
end
|
56
56
|
end
|
57
57
|
|
@@ -68,7 +68,7 @@ module DbdDataEngine
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it 'has a personal object' do
|
71
|
-
|
71
|
+
assert_context_has_object(context, 'personal')
|
72
72
|
end
|
73
73
|
end
|
74
74
|
|
@@ -85,7 +85,7 @@ module DbdDataEngine
|
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'has a business object' do
|
88
|
-
|
88
|
+
assert_context_has_object(context, 'business')
|
89
89
|
end
|
90
90
|
end
|
91
91
|
end
|
@@ -3,21 +3,23 @@ require 'spec_helper'
|
|
3
3
|
module DbdDataEngine
|
4
4
|
describe Context do
|
5
5
|
|
6
|
-
let(:context_predicates)
|
6
|
+
let(:context_predicates) do
|
7
7
|
['context:visibility',
|
8
8
|
'context:encryption',
|
9
9
|
'context:license',
|
10
10
|
'dc:source',
|
11
11
|
'dc:creator',
|
12
|
-
'dcterms:created']
|
12
|
+
'dcterms:created']
|
13
|
+
end
|
13
14
|
|
14
|
-
let(:context_labels)
|
15
|
+
let(:context_labels) do
|
15
16
|
['Visibility',
|
16
17
|
'Encryption',
|
17
18
|
'License',
|
18
19
|
'Source',
|
19
20
|
'Creator',
|
20
|
-
'Created']
|
21
|
+
'Created']
|
22
|
+
end
|
21
23
|
|
22
24
|
it 'has all the context predicates' do
|
23
25
|
described_class.predicates.map{ |p| p[:predicate] }.should == context_predicates
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module DbdDataEngine
|
4
|
+
describe Resource do
|
5
|
+
describe 'used_predicates' do
|
6
|
+
|
7
|
+
let(:used_predicates) do
|
8
|
+
['schema:about', 'schema:familyName', 'schema:givenName']
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'has all the used predicates' do
|
12
|
+
described_class.used_predicates.should == used_predicates
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dbd_data_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Vandenabeele
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - ~>
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.0.
|
75
|
+
version: 0.0.13
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.0.
|
82
|
+
version: 0.0.13
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: haml-rails
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,6 +179,7 @@ files:
|
|
179
179
|
- app/controllers/dbd_data_engine/resources_controller.rb
|
180
180
|
- app/helpers/dbd_data_engine/application_helper.rb
|
181
181
|
- app/models/dbd_data_engine/context.rb
|
182
|
+
- app/models/dbd_data_engine/resource.rb
|
182
183
|
- app/presenters/context_presenter.rb
|
183
184
|
- app/presenters/fact_with_context.rb
|
184
185
|
- app/presenters/resource_with_contexts.rb
|
@@ -201,6 +202,7 @@ files:
|
|
201
202
|
- dbd_data_engine.gemspec
|
202
203
|
- lib/dbd_data_engine.rb
|
203
204
|
- lib/dbd_data_engine/engine.rb
|
205
|
+
- lib/dbd_data_engine/resource_selectors.rb
|
204
206
|
- lib/dbd_data_engine/version.rb
|
205
207
|
- lib/tasks/dbd_data_engine_tasks.rake
|
206
208
|
- spec/controllers/nothing_here_tests_in_features_and_requests
|
@@ -249,6 +251,7 @@ files:
|
|
249
251
|
- spec/features/resources/new_spec.rb
|
250
252
|
- spec/models/dbd_data_engine/context/defaults_spec.rb
|
251
253
|
- spec/models/dbd_data_engine/context/predicates_spec.rb
|
254
|
+
- spec/models/dbd_data_engine/resource/used_predicates_spec.rb
|
252
255
|
- spec/presenters/context_presenter/context_summary_spec.rb
|
253
256
|
- spec/presenters/fact_with_context/new_spec.rb
|
254
257
|
- spec/presenters/resource_with_contexts/new_spec.rb
|
@@ -337,6 +340,7 @@ test_files:
|
|
337
340
|
- spec/features/resources/new_spec.rb
|
338
341
|
- spec/models/dbd_data_engine/context/defaults_spec.rb
|
339
342
|
- spec/models/dbd_data_engine/context/predicates_spec.rb
|
343
|
+
- spec/models/dbd_data_engine/resource/used_predicates_spec.rb
|
340
344
|
- spec/presenters/context_presenter/context_summary_spec.rb
|
341
345
|
- spec/presenters/fact_with_context/new_spec.rb
|
342
346
|
- spec/presenters/resource_with_contexts/new_spec.rb
|