tripod 0.9.4 → 0.9.6
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 +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
|