dbd 0.0.18 → 0.0.19
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/lib/dbd/context.rb +7 -2
- data/lib/dbd/fact/factory.rb +0 -1
- data/lib/dbd/resource.rb +12 -6
- data/lib/dbd/version.rb +1 -1
- data/spec/lib/dbd/context/{context_spec.rb → collection_spec.rb} +9 -34
- data/spec/lib/dbd/context/new_spec.rb +37 -0
- data/spec/lib/dbd/context/test_factories_spec.rb +15 -0
- data/spec/lib/dbd/resource/collection_spec.rb +11 -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: 74d54382f08bbd348679cb10c1c8b91f3be990cf
|
4
|
+
data.tar.gz: b566258aea1a3a5fd2086094cce17d7459989cc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d7eb71352a57bce730c5f2198d26bd30e1c5a5ab67bbe9cca9d85351cd0051d91522e42bdd4233049a20e3930a956508efe15f9161b534381ced3f23362eb5b
|
7
|
+
data.tar.gz: 1c73a36ccfda7a251914d65d84e8c427f72eaf02a007e69b1f52a3f5d324e8fb8bf603a06aaf16cf1b3db632f6385b90d86430df576c33d0644409711f242c9a
|
data/HISTORY.txt
CHANGED
data/lib/dbd/context.rb
CHANGED
@@ -21,13 +21,18 @@ module Dbd
|
|
21
21
|
end
|
22
22
|
|
23
23
|
##
|
24
|
-
# Add a ContextFact (strictly only a ContextFact)
|
24
|
+
# Add a ContextFact (strictly only a ContextFact) or recursive collection of ContextFacts
|
25
25
|
#
|
26
26
|
# Side effect on the context_fact argument:
|
27
27
|
# * if it has no subject, the subject is set in the context_fact
|
28
28
|
# * if is has the same subject as the resource, added unchanged.
|
29
29
|
# * if it has a different subject, a SubjectError is raised.
|
30
|
-
|
30
|
+
#
|
31
|
+
# NOTE: this implementation is really only here for the documentation
|
32
|
+
#
|
33
|
+
# @param [ContextFact, #each] context_fact_collection a recursive collection of ContextFacts
|
34
|
+
# @return [Context] self
|
35
|
+
def <<(context_fact_collection)
|
31
36
|
super
|
32
37
|
end
|
33
38
|
|
data/lib/dbd/fact/factory.rb
CHANGED
data/lib/dbd/resource.rb
CHANGED
@@ -54,7 +54,7 @@ module Dbd
|
|
54
54
|
end
|
55
55
|
|
56
56
|
##
|
57
|
-
# Add a Fact (strictly not a ContextFact)
|
57
|
+
# Add a Fact (strictly not a ContextFact) or recursive collection of facts
|
58
58
|
#
|
59
59
|
# Side effects on subject and context_subject:
|
60
60
|
# * if it has no subject, the subject is set (this modifies the fact !)
|
@@ -64,11 +64,17 @@ module Dbd
|
|
64
64
|
# * if it has no context_subject, the context_subject is set (this modifies the fact !)
|
65
65
|
# * if is has the same context_subject as the resource, added unchanged.
|
66
66
|
# * if it has a different context_subject, a ContextError is raised.
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
67
|
+
#
|
68
|
+
# @param [Fact, #each] fact_collection a recursive collection of Facts
|
69
|
+
# @return [Resource] self
|
70
|
+
def <<(fact_collection)
|
71
|
+
fact_collection.each_recursively do |fact|
|
72
|
+
assert_fact_or_context_fact(fact)
|
73
|
+
set_fact_subject!(fact)
|
74
|
+
set_fact_context_subject!(fact)
|
75
|
+
super(fact)
|
76
|
+
end
|
77
|
+
self
|
72
78
|
end
|
73
79
|
|
74
80
|
private
|
data/lib/dbd/version.rb
CHANGED
@@ -6,40 +6,6 @@ module Dbd
|
|
6
6
|
let(:context) { described_class.new }
|
7
7
|
let(:context_subject) { context.subject }
|
8
8
|
|
9
|
-
describe '.new' do
|
10
|
-
describe 'without a subject argument' do
|
11
|
-
it 'has created a new subject' do
|
12
|
-
context.subject.should be_a(described_class.new_subject.class)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe 'with a subject argument' do
|
17
|
-
it 'has stored the resource_subject' do
|
18
|
-
described_class.new(subject: context_subject).subject.
|
19
|
-
should == context_subject
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
describe 'with a context_subject argument' do
|
24
|
-
it 'raises an ContextError' do
|
25
|
-
lambda{ described_class.new(context_subject: context_subject) }.
|
26
|
-
should raise_error(ArgumentError)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe 'context_subject' do
|
32
|
-
it 'raises NoMethodError when called' do
|
33
|
-
lambda{ context.context_subject }.should raise_error(NoMethodError)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
describe 'TestFactories::Context' do
|
38
|
-
it '.context works' do
|
39
|
-
TestFactories::Context.context
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
9
|
describe 'the collection' do
|
44
10
|
|
45
11
|
let(:context_fact_visibility) { TestFactories::ContextFact.visibility } # nil subject
|
@@ -52,6 +18,15 @@ module Dbd
|
|
52
18
|
context.first.subject.should == context_subject
|
53
19
|
end
|
54
20
|
|
21
|
+
it 'works with an array of contexts_facts' do
|
22
|
+
context << [context_visibility_with_correct_subject]
|
23
|
+
context.first.subject.should == context_subject
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'returns self' do
|
27
|
+
(context << [context_visibility_with_correct_subject]).should be_a(Context)
|
28
|
+
end
|
29
|
+
|
55
30
|
it 'with incorrect subject it raises SetOnceError' do
|
56
31
|
lambda{ context << context_visibility_with_incorrect_subject }.
|
57
32
|
should raise_error(RubyPeterV::SetOnceError),
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Dbd
|
4
|
+
describe Context do
|
5
|
+
|
6
|
+
let(:context) { described_class.new }
|
7
|
+
let(:context_subject) { context.subject }
|
8
|
+
|
9
|
+
describe '.new' do
|
10
|
+
describe 'without a subject argument' do
|
11
|
+
it 'has created a new subject' do
|
12
|
+
context.subject.should be_a(described_class.new_subject.class)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe 'with a subject argument' do
|
17
|
+
it 'has stored the resource_subject' do
|
18
|
+
described_class.new(subject: context_subject).subject.
|
19
|
+
should == context_subject
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe 'with a context_subject argument' do
|
24
|
+
it 'raises an ContextError' do
|
25
|
+
lambda{ described_class.new(context_subject: context_subject) }.
|
26
|
+
should raise_error(ArgumentError)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe 'context_subject' do
|
32
|
+
it 'raises NoMethodError when called' do
|
33
|
+
lambda{ context.context_subject }.should raise_error(NoMethodError)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Dbd
|
4
|
+
describe Context do
|
5
|
+
|
6
|
+
let(:context) { described_class.new }
|
7
|
+
let(:context_subject) { context.subject }
|
8
|
+
|
9
|
+
describe 'TestFactories::Context' do
|
10
|
+
it '.context works' do
|
11
|
+
TestFactories::Context.context
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -30,6 +30,17 @@ module Dbd
|
|
30
30
|
resource.size.should == 2
|
31
31
|
end
|
32
32
|
|
33
|
+
it 'works with an array facts' do
|
34
|
+
resource << [fact_without_subject, fact_with_context]
|
35
|
+
resource.size.should == 2
|
36
|
+
resource.first.should == fact_without_subject
|
37
|
+
resource.last.should == fact_with_context
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'returns self' do
|
41
|
+
(resource << [fact_without_subject, fact_with_context]).should be_a(Resource)
|
42
|
+
end
|
43
|
+
|
33
44
|
it 'complains if a context_subject is added' do
|
34
45
|
lambda{ resource << context_fact_visibility }.should raise_error(
|
35
46
|
ArgumentError,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dbd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Vandenabeele
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -203,7 +203,9 @@ files:
|
|
203
203
|
- lib/dbd/resource.rb
|
204
204
|
- lib/dbd/time_stamp.rb
|
205
205
|
- lib/dbd/version.rb
|
206
|
-
- spec/lib/dbd/context/
|
206
|
+
- spec/lib/dbd/context/collection_spec.rb
|
207
|
+
- spec/lib/dbd/context/new_spec.rb
|
208
|
+
- spec/lib/dbd/context/test_factories_spec.rb
|
207
209
|
- spec/lib/dbd/context_fact/methods_spec.rb
|
208
210
|
- spec/lib/dbd/context_fact/new_spec.rb
|
209
211
|
- spec/lib/dbd/context_fact/test_factories_spec.rb
|
@@ -269,7 +271,9 @@ signing_key:
|
|
269
271
|
specification_version: 4
|
270
272
|
summary: A data store that (almost) never forgets
|
271
273
|
test_files:
|
272
|
-
- spec/lib/dbd/context/
|
274
|
+
- spec/lib/dbd/context/collection_spec.rb
|
275
|
+
- spec/lib/dbd/context/new_spec.rb
|
276
|
+
- spec/lib/dbd/context/test_factories_spec.rb
|
273
277
|
- spec/lib/dbd/context_fact/methods_spec.rb
|
274
278
|
- spec/lib/dbd/context_fact/new_spec.rb
|
275
279
|
- spec/lib/dbd/context_fact/test_factories_spec.rb
|