dbd 0.0.18 → 0.0.19
Sign up to get free protection for your applications and to get access to all the features.
- 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
|