tripod 0.9.4 → 0.9.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +1 -1
- data/README.md +3 -0
- data/lib/tripod/eager_loading.rb +3 -0
- data/lib/tripod/version.rb +1 -1
- data/spec/tripod/eager_loading_spec.rb +36 -0
- data/spec/tripod/finders_spec.rb +2 -2
- data/spec/tripod/persistence_spec.rb +5 -5
- data/spec/tripod/sparql_query_spec.rb +2 -2
- metadata +30 -52
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 1498353ae2811f7c6fced7033b9e9f4a3291943e
|
4
|
+
data.tar.gz: 0b78fa2cacd589e25d29a7b01d74dbf72680c124
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 53236582779d2d9b41c1124e6d610e37189ff817b881499419d707784b5234dfdd135c5d69ebe27e2b0f501c8effdb92554c4e9ff39bfb885bcb691166aeae9b
|
7
|
+
data.tar.gz: 2d03193a9747055ad07c00a537528c292217ef7d805744747469ea5b2e73118cf34df923d8a971a91c73e738511b72ecf20eb1c947190afb3e2cd573ec4cb048
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -130,6 +130,9 @@ Tripod doesn't supply a database. You need to install one. I recommend [Fuseki](
|
|
130
130
|
|
131
131
|
Person.where("?uri <http://example.com/name> ?name").limit(1).offset(0).order("DESC(?name)")
|
132
132
|
|
133
|
+
## Running tests
|
134
|
+
|
135
|
+
With a Fuseki instance ready and up, edit the config in `spec/spec_helper.rb` to reflect your settings. Make sure you `bundle` to pull in all dependencies before trying to run the tests.
|
133
136
|
|
134
137
|
[Full Documentation](http://rubydoc.info/gems/tripod/frames)
|
135
138
|
|
data/lib/tripod/eager_loading.rb
CHANGED
data/lib/tripod/version.rb
CHANGED
@@ -138,4 +138,40 @@ describe Tripod::EagerLoading do
|
|
138
138
|
|
139
139
|
end
|
140
140
|
|
141
|
+
describe "#has_related_resource?" do
|
142
|
+
|
143
|
+
context "when eager load not called" do
|
144
|
+
context "and related resource exists" do
|
145
|
+
it "should return false" do
|
146
|
+
@john.has_related_resource?(RDF::URI.new('http://example.com/name'), Resource).should be_false
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
context "and related resource doesn't exist" do
|
151
|
+
it "should return false" do
|
152
|
+
@john.has_related_resource?(RDF::URI.new('http://example.com/nonexistent/person'), Person).should be_false
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
context "when eager load called" do
|
158
|
+
before do
|
159
|
+
@john.eager_load_predicate_triples!
|
160
|
+
end
|
161
|
+
|
162
|
+
context "and related resource exists" do
|
163
|
+
it "should return true" do
|
164
|
+
@john.has_related_resource?(RDF::URI.new('http://example.com/name'), Resource).should be_true
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
context "and related resource doesn't exist" do
|
169
|
+
it "should return false" do
|
170
|
+
@john.has_related_resource?(RDF::URI.new('http://example.com/nonexistent/person'), Person).should be_false
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
176
|
+
|
141
177
|
end
|
data/spec/tripod/finders_spec.rb
CHANGED
@@ -36,7 +36,7 @@ describe Tripod::Finders do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
it "returns a non-new record" do
|
39
|
-
person.new_record?.should
|
39
|
+
person.new_record?.should be false
|
40
40
|
end
|
41
41
|
|
42
42
|
end
|
@@ -219,7 +219,7 @@ describe Tripod::Finders do
|
|
219
219
|
|
220
220
|
it "returns non-new records" do
|
221
221
|
res = Person.find_by_sparql('SELECT ?uri ?graph WHERE { GRAPH ?graph { ?uri ?p ?o } }')
|
222
|
-
res.first.new_record?.should
|
222
|
+
res.first.new_record?.should be false
|
223
223
|
end
|
224
224
|
|
225
225
|
end
|
@@ -40,7 +40,7 @@ describe Tripod::Persistence do
|
|
40
40
|
end
|
41
41
|
|
42
42
|
it 'saves the contents to the db' do
|
43
|
-
unsaved_person.save.should
|
43
|
+
unsaved_person.save.should be true
|
44
44
|
|
45
45
|
# try reading the data back out.
|
46
46
|
p2 = Person.new(@uri)
|
@@ -55,7 +55,7 @@ describe Tripod::Persistence do
|
|
55
55
|
|
56
56
|
it 'should leave other people untouched' do
|
57
57
|
# save the unsaved person
|
58
|
-
unsaved_person.save.should
|
58
|
+
unsaved_person.save.should be true
|
59
59
|
|
60
60
|
# read the saved person back out the db, and check he's untouched.
|
61
61
|
p2 = Person.new(saved_person.uri)
|
@@ -72,7 +72,7 @@ describe Tripod::Persistence do
|
|
72
72
|
describe ".destroy" do
|
73
73
|
|
74
74
|
it 'removes all triples from the db' do
|
75
|
-
saved_person.destroy.should
|
75
|
+
saved_person.destroy.should be true
|
76
76
|
|
77
77
|
# re-load it back into memory
|
78
78
|
p2 = Person.new(@saved_uri)
|
@@ -204,10 +204,10 @@ describe Tripod::Persistence do
|
|
204
204
|
transaction = Tripod::Persistence::Transaction.new
|
205
205
|
|
206
206
|
unsaved_person.stub(:graph_uri).and_return(nil) # force a failure
|
207
|
-
unsaved_person.save(transaction: transaction).should
|
207
|
+
unsaved_person.save(transaction: transaction).should be false
|
208
208
|
|
209
209
|
saved_person.write_predicate('http://example.com/pred2', 'blah')
|
210
|
-
saved_person.save(transaction: transaction).should
|
210
|
+
saved_person.save(transaction: transaction).should be true
|
211
211
|
|
212
212
|
transaction.commit
|
213
213
|
|
@@ -59,14 +59,14 @@ WHERE abc # bar
|
|
59
59
|
context "for a query with prefixes" do
|
60
60
|
it "should return true" do
|
61
61
|
q = Tripod::SparqlQuery.new('PREFIX e: <http://example.com> SELECT xyz')
|
62
|
-
q.has_prefixes?.should
|
62
|
+
q.has_prefixes?.should be true
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
66
66
|
context "for a query without prefixes" do
|
67
67
|
it "should return false" do
|
68
68
|
q = Tripod::SparqlQuery.new('SELECT xyz')
|
69
|
-
q.has_prefixes?.should
|
69
|
+
q.has_prefixes?.should be false
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tripod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
5
|
-
prerelease:
|
4
|
+
version: 0.9.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ric Roberts
|
@@ -11,166 +10,146 @@ authors:
|
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2014-
|
13
|
+
date: 2014-06-09 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: rest-client
|
18
17
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
18
|
requirements:
|
21
|
-
- -
|
19
|
+
- - ">="
|
22
20
|
- !ruby/object:Gem::Version
|
23
21
|
version: '0'
|
24
22
|
type: :runtime
|
25
23
|
prerelease: false
|
26
24
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
25
|
requirements:
|
29
|
-
- -
|
26
|
+
- - ">="
|
30
27
|
- !ruby/object:Gem::Version
|
31
28
|
version: '0'
|
32
29
|
- !ruby/object:Gem::Dependency
|
33
30
|
name: activemodel
|
34
31
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
32
|
requirements:
|
37
|
-
- -
|
33
|
+
- - ">"
|
38
34
|
- !ruby/object:Gem::Version
|
39
35
|
version: '3.2'
|
40
36
|
type: :runtime
|
41
37
|
prerelease: false
|
42
38
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
39
|
requirements:
|
45
|
-
- -
|
40
|
+
- - ">"
|
46
41
|
- !ruby/object:Gem::Version
|
47
42
|
version: '3.2'
|
48
43
|
- !ruby/object:Gem::Dependency
|
49
44
|
name: equivalent-xml
|
50
45
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
46
|
requirements:
|
53
|
-
- -
|
47
|
+
- - ">="
|
54
48
|
- !ruby/object:Gem::Version
|
55
49
|
version: '0'
|
56
50
|
type: :runtime
|
57
51
|
prerelease: false
|
58
52
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
53
|
requirements:
|
61
|
-
- -
|
54
|
+
- - ">="
|
62
55
|
- !ruby/object:Gem::Version
|
63
56
|
version: '0'
|
64
57
|
- !ruby/object:Gem::Dependency
|
65
58
|
name: rdf
|
66
59
|
requirement: !ruby/object:Gem::Requirement
|
67
|
-
none: false
|
68
60
|
requirements:
|
69
|
-
- - ~>
|
61
|
+
- - "~>"
|
70
62
|
- !ruby/object:Gem::Version
|
71
63
|
version: '1.1'
|
72
64
|
type: :runtime
|
73
65
|
prerelease: false
|
74
66
|
version_requirements: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
67
|
requirements:
|
77
|
-
- - ~>
|
68
|
+
- - "~>"
|
78
69
|
- !ruby/object:Gem::Version
|
79
70
|
version: '1.1'
|
80
71
|
- !ruby/object:Gem::Dependency
|
81
72
|
name: rdf-rdfxml
|
82
73
|
requirement: !ruby/object:Gem::Requirement
|
83
|
-
none: false
|
84
74
|
requirements:
|
85
|
-
- -
|
75
|
+
- - ">="
|
86
76
|
- !ruby/object:Gem::Version
|
87
77
|
version: '0'
|
88
78
|
type: :runtime
|
89
79
|
prerelease: false
|
90
80
|
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
81
|
requirements:
|
93
|
-
- -
|
82
|
+
- - ">="
|
94
83
|
- !ruby/object:Gem::Version
|
95
84
|
version: '0'
|
96
85
|
- !ruby/object:Gem::Dependency
|
97
86
|
name: rdf-turtle
|
98
87
|
requirement: !ruby/object:Gem::Requirement
|
99
|
-
none: false
|
100
88
|
requirements:
|
101
|
-
- -
|
89
|
+
- - ">="
|
102
90
|
- !ruby/object:Gem::Version
|
103
91
|
version: '0'
|
104
92
|
type: :runtime
|
105
93
|
prerelease: false
|
106
94
|
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
none: false
|
108
95
|
requirements:
|
109
|
-
- -
|
96
|
+
- - ">="
|
110
97
|
- !ruby/object:Gem::Version
|
111
98
|
version: '0'
|
112
99
|
- !ruby/object:Gem::Dependency
|
113
100
|
name: rdf-json
|
114
101
|
requirement: !ruby/object:Gem::Requirement
|
115
|
-
none: false
|
116
102
|
requirements:
|
117
|
-
- -
|
103
|
+
- - ">="
|
118
104
|
- !ruby/object:Gem::Version
|
119
105
|
version: '0'
|
120
106
|
type: :runtime
|
121
107
|
prerelease: false
|
122
108
|
version_requirements: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
109
|
requirements:
|
125
|
-
- -
|
110
|
+
- - ">="
|
126
111
|
- !ruby/object:Gem::Version
|
127
112
|
version: '0'
|
128
113
|
- !ruby/object:Gem::Dependency
|
129
114
|
name: json-ld
|
130
115
|
requirement: !ruby/object:Gem::Requirement
|
131
|
-
none: false
|
132
116
|
requirements:
|
133
|
-
- - ~>
|
117
|
+
- - "~>"
|
134
118
|
- !ruby/object:Gem::Version
|
135
119
|
version: 0.9.1
|
136
120
|
type: :runtime
|
137
121
|
prerelease: false
|
138
122
|
version_requirements: !ruby/object:Gem::Requirement
|
139
|
-
none: false
|
140
123
|
requirements:
|
141
|
-
- - ~>
|
124
|
+
- - "~>"
|
142
125
|
- !ruby/object:Gem::Version
|
143
126
|
version: 0.9.1
|
144
127
|
- !ruby/object:Gem::Dependency
|
145
128
|
name: guid
|
146
129
|
requirement: !ruby/object:Gem::Requirement
|
147
|
-
none: false
|
148
130
|
requirements:
|
149
|
-
- -
|
131
|
+
- - ">="
|
150
132
|
- !ruby/object:Gem::Version
|
151
133
|
version: '0'
|
152
134
|
type: :runtime
|
153
135
|
prerelease: false
|
154
136
|
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
137
|
requirements:
|
157
|
-
- -
|
138
|
+
- - ">="
|
158
139
|
- !ruby/object:Gem::Version
|
159
140
|
version: '0'
|
160
141
|
- !ruby/object:Gem::Dependency
|
161
142
|
name: dalli
|
162
143
|
requirement: !ruby/object:Gem::Requirement
|
163
|
-
none: false
|
164
144
|
requirements:
|
165
|
-
- - ~>
|
145
|
+
- - "~>"
|
166
146
|
- !ruby/object:Gem::Version
|
167
147
|
version: '2.6'
|
168
148
|
type: :runtime
|
169
149
|
prerelease: false
|
170
150
|
version_requirements: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
151
|
requirements:
|
173
|
-
- - ~>
|
152
|
+
- - "~>"
|
174
153
|
- !ruby/object:Gem::Version
|
175
154
|
version: '2.6'
|
176
155
|
description: RDF ruby ORM
|
@@ -180,9 +159,9 @@ executables: []
|
|
180
159
|
extensions: []
|
181
160
|
extra_rdoc_files: []
|
182
161
|
files:
|
183
|
-
- .autotest
|
184
|
-
- .gitignore
|
185
|
-
- .rspec
|
162
|
+
- ".autotest"
|
163
|
+
- ".gitignore"
|
164
|
+
- ".rspec"
|
186
165
|
- Gemfile
|
187
166
|
- LICENSE
|
188
167
|
- README.md
|
@@ -248,27 +227,26 @@ files:
|
|
248
227
|
- tripod.gemspec
|
249
228
|
homepage: http://github.com/Swirrl/tripod
|
250
229
|
licenses: []
|
230
|
+
metadata: {}
|
251
231
|
post_install_message:
|
252
232
|
rdoc_options: []
|
253
233
|
require_paths:
|
254
234
|
- lib
|
255
235
|
required_ruby_version: !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
236
|
requirements:
|
258
|
-
- -
|
237
|
+
- - ">="
|
259
238
|
- !ruby/object:Gem::Version
|
260
239
|
version: '0'
|
261
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
262
|
-
none: false
|
263
241
|
requirements:
|
264
|
-
- -
|
242
|
+
- - ">="
|
265
243
|
- !ruby/object:Gem::Version
|
266
244
|
version: 1.3.6
|
267
245
|
requirements: []
|
268
246
|
rubyforge_project: tripod
|
269
|
-
rubygems_version:
|
247
|
+
rubygems_version: 2.2.0.rc.1
|
270
248
|
signing_key:
|
271
|
-
specification_version:
|
249
|
+
specification_version: 4
|
272
250
|
summary: Active Model style RDF ORM
|
273
251
|
test_files:
|
274
252
|
- spec/app/models/person.rb
|