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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 60772142b222f4d7223664c57510e4c2744eda58
4
- data.tar.gz: 585c9382c874255c252bf82b97378e6153cbd52d
3
+ metadata.gz: b67549dd442c942904057502724c772be382b9d9
4
+ data.tar.gz: 7e610615d7d3686fab21c79387dfe520420e9d1a
5
5
  SHA512:
6
- metadata.gz: 4d50fa907a98862659481d38872c7887ab07766ada3dad65f79d24b0fa974784405ae759dc22900e0ea061175326df341b6e416d4a966e96758eb984fbdba39e
7
- data.tar.gz: e5e67b11411b7a42181b1cd882a4790bacf570643530760b757a9ee76f58a4d497a7bcb38600f1cb4844b463912ee4b53ab29540b8e7805c53e5ae5004d1f73b
6
+ metadata.gz: 8bac716118f130687c49d849f3495e442d55232bfd48ed0465adf350413c8575f8ed90c19adba43ef768d72dc98d44fbb631835d620a7355f4d1059db7b14356
7
+ data.tar.gz: 124114be5f6e8cfcb5e8e1d9a283939f59f1ed55be40fdf3afaadc96fdc2101c3ce9a1b63a15d21bb11c9f120f1dfe61d80fb138365c0f88aac538464c2d31a9
@@ -50,3 +50,8 @@
50
50
 
51
51
  * lock Capybara config.ignore_hidden_elements = false because this
52
52
  now failed to find hidden fields
53
+
54
+ 0.0.10 (2014-02-09)
55
+ ======
56
+
57
+ * Now using the new used schema predicates
@@ -9,7 +9,7 @@ module DbdDataEngine
9
9
 
10
10
  def new
11
11
  @contexts = ['public today', 'personal today', 'business today']
12
- @predicates = predicates_for_new
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)) #@contexts))
6
+ =select_tag('context', options_for_select(@contexts))
7
7
  %table
8
8
  %tr
9
9
  %th predicate
@@ -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.12'
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'
@@ -1,4 +1,5 @@
1
1
  require 'dbd_data_engine/engine'
2
+ require 'dbd_data_engine/resource_selectors'
2
3
  require 'haml'
3
4
  require 'dbd'
4
5
  require 'dbd_onto'
@@ -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
@@ -1,3 +1,3 @@
1
1
  module DbdDataEngine
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  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 have_select('predicate[]', options: ['schema:givenName','schema:familyName'])
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 assert_object(context, object)
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
- assert_object(context, 'public')
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
- assert_object(context, 'personal')
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
- assert_object(context, 'business')
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
- assert_object(context, 'public')
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
- assert_object(context, 'personal')
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
- assert_object(context, 'business')
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.9
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-06 00:00:00.000000000 Z
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.12
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.12
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