earl-report 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/VERSION +1 -1
- data/lib/earl_report.rb +48 -34
- data/lib/earl_report/views/earl_report.html.haml +3 -3
- data/spec/test-files/results.html +10 -10
- data/spec/test-files/results.jsonld +1 -1
- data/spec/test-files/results.ttl +4 -4
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NmQ3MjM1M2NiMzhiMTQ5M2M4NDQxZGZmZjQ0YjIyNTExY2E0MjgxMQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YmNmMjgwZjFmMjJiOGVmZjQ5M2UzNjUwYjJmMDAyNDBiZThiMTRhMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZjgwMjY5NTNlZTlhN2RkZmEzMmJiY2IxOWE2ZDkwODAzZTYyODUwNmI0N2Ri
|
10
|
+
Mzc4NWNmNDg0NGE2NTA5ZjUxODE5MTRiYTBlYzM3ZTlkOTE5OGY0ZjdmZWVh
|
11
|
+
YjJmZmQ4MDZjNGQyMzE2ZmY2MGVkMWQwZDEzMmY2YjNlYzNlZjI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NzU5MWFmNTE5NmQzZjhjNjc5Nzg0MzZiNTI5NDVjY2M3MTVkODJmODdlMTQ2
|
14
|
+
OTI3YjUwMmU5MjUyMWEzMzdkYThkYmMyMTY0YmQwNzI3NTM4NTMxYzFkOGM5
|
15
|
+
ZGMxYTc1MzEwZGJjZjU1NGE4MzQ3OTRjMGMyYTg1NzZhNWEzOTU=
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
data/lib/earl_report.rb
CHANGED
@@ -164,41 +164,51 @@ class EarlReport
|
|
164
164
|
status " skip #{file}, which seems to be a previous rollup earl report"
|
165
165
|
else
|
166
166
|
status " loaded #{file_graph.count} triples"
|
167
|
-
@graph << file_graph
|
168
|
-
end
|
169
|
-
end
|
170
167
|
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
168
|
+
# Find or load DOAP descriptions for all subjects
|
169
|
+
SPARQL.execute(DOAP_QUERY, file_graph).each do |solution|
|
170
|
+
subject = solution[:subject]
|
171
|
+
|
172
|
+
# Load DOAP definitions
|
173
|
+
unless solution[:name] # not loaded
|
174
|
+
status "read doap description for #{subject}"
|
175
|
+
begin
|
176
|
+
doap_graph = RDF::Graph.load(subject)
|
177
|
+
status " loaded #{doap_graph.count} triples"
|
178
|
+
file_graph << doap_graph.to_a
|
179
|
+
rescue
|
180
|
+
warn "\nfailed to load DOAP from #{subject}: #{$!}"
|
181
|
+
end
|
182
|
+
end
|
184
183
|
end
|
185
|
-
end
|
186
|
-
end
|
187
184
|
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
foaf_graph = RDF::Graph.load(solution[:developer])
|
195
|
-
status " loaded #{foaf_graph.count} triples"
|
196
|
-
@graph << foaf_graph.to_a
|
197
|
-
rescue
|
198
|
-
status " failed"
|
185
|
+
# Sanity check loaded graph, look for test subject
|
186
|
+
solutions = SPARQL.execute(TEST_SUBJECT_QUERY, file_graph)
|
187
|
+
if solutions.empty?
|
188
|
+
warn "\nTest subject info not found for #{file}, expect DOAP description of project solving the following query:\n" +
|
189
|
+
TEST_SUBJECT_QUERY
|
190
|
+
next
|
199
191
|
end
|
200
|
-
|
201
|
-
|
192
|
+
|
193
|
+
# Load developers referenced from Test Subjects
|
194
|
+
solutions.each do |solution|
|
195
|
+
# Load FOAF definitions
|
196
|
+
if solution[:developer] && !solution[:devName] # not loaded
|
197
|
+
status "read description for developer #{solution[:developer].inspect}"
|
198
|
+
begin
|
199
|
+
foaf_graph = RDF::Graph.load(solution[:developer])
|
200
|
+
status " loaded #{foaf_graph.count} triples"
|
201
|
+
file_graph << foaf_graph.to_a
|
202
|
+
rescue
|
203
|
+
warn "\nfailed to load FOAF #{subject} from #{solution[:developer]}: #{$!}"
|
204
|
+
end
|
205
|
+
elsif !solution[:developer]
|
206
|
+
warn "\nNo developer identified for #{solution[:developer]}"
|
207
|
+
end
|
208
|
+
end
|
209
|
+
|
210
|
+
# Look for test assertions matching test definitions
|
211
|
+
@graph << file_graph
|
202
212
|
end
|
203
213
|
end
|
204
214
|
end
|
@@ -468,7 +478,7 @@ class EarlReport
|
|
468
478
|
# Write earl:Software for the report
|
469
479
|
man_defs = json_hash['entries'].map {|defn| as_resource(defn['@id'])}.join("\n ")
|
470
480
|
io.puts %{
|
471
|
-
#{as_resource(json_hash['@id'])} a #{
|
481
|
+
#{as_resource(json_hash['@id'])} a #{Array(json_hash['@type']).join(', ')};
|
472
482
|
doap:name "#{json_hash['name']}";
|
473
483
|
dc:bibliographicCitation "#{json_hash['bibRef']}";
|
474
484
|
earl:generatedBy #{as_resource json_hash['generatedBy']['@id']};
|
@@ -539,7 +549,7 @@ class EarlReport
|
|
539
549
|
[desc['developer']].flatten.compact.each do |developer|
|
540
550
|
if developer['@id']
|
541
551
|
res += %(<#{desc['@id']}> doap:developer <#{developer['@id']}> .\n\n)
|
542
|
-
res += %(<#{developer['@id']}> a #{
|
552
|
+
res += %(<#{developer['@id']}> a #{Array(developer['@type']).join(', ')};\n)
|
543
553
|
res += %( foaf:homepage <#{developer['foaf:homepage']}>;\n) if developer['foaf:homepage']
|
544
554
|
res += %( foaf:name "#{developer['foaf:name']}" .\n\n)
|
545
555
|
else
|
@@ -589,7 +599,11 @@ class EarlReport
|
|
589
599
|
resource[0,2] == '_:' ? resource : "<#{resource}>"
|
590
600
|
end
|
591
601
|
|
602
|
+
def warn(message)
|
603
|
+
$stderr.puts message
|
604
|
+
end
|
605
|
+
|
592
606
|
def status(message)
|
593
|
-
puts message if @options[:verbose]
|
607
|
+
$stderr.puts message if @options[:verbose]
|
594
608
|
end
|
595
609
|
end
|
@@ -254,7 +254,7 @@
|
|
254
254
|
%dt= "Developer"
|
255
255
|
%dd{:rel => "doap:developer"}
|
256
256
|
- subject['developer'].each do |dev|
|
257
|
-
%div{:resource => dev['@id'], :typeof => Array(
|
257
|
+
%div{:resource => dev['@id'], :typeof => Array(dev['@type']).join(" ")}
|
258
258
|
- if dev.has_key?('@id')
|
259
259
|
%a{:href => dev['@id']}
|
260
260
|
%span{:property => "foaf:name"}<
|
@@ -308,10 +308,10 @@
|
|
308
308
|
%p{:property => "dc:description", :lang => 'en'}<
|
309
309
|
~ CGI.escapeHTML test['description']
|
310
310
|
%pre{:class => "example actionDoc", :property => "mf:action", :resource => test['testAction'], :title => "#{test['title']} Input"}<
|
311
|
-
~ Kernel.open(test['testAction']) {|f| CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testAction']} not loaded"
|
311
|
+
~ Kernel.open(test['testAction']) {|f| f.set_encoding(); CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testAction']} not loaded"
|
312
312
|
- if test['testResult']
|
313
313
|
%pre{:class => "example resultDoc", :property => "mf:result", :resource => test['testResult'], :title => "#{test['title']} Result"}<
|
314
|
-
~ Kernel.open(test['testResult']) {|f| CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testResult']} not loaded"
|
314
|
+
~ Kernel.open(test['testResult']) {|f| f.set_encoding(); CGI.escapeHTML(f.read).gsub(/\n/, '<br/>')} rescue "#{test['testResult']} not loaded"
|
315
315
|
%section#appendix{:property => "earl:generatedBy", :resource => tests['generatedBy']['@id'], :typeof => tests['generatedBy']['@type']}
|
316
316
|
%h2
|
317
317
|
Report Generation Software
|
@@ -24,7 +24,7 @@
|
|
24
24
|
shortName: "turtle-earl",
|
25
25
|
subtitle: "Turtle Implementation Conformance Report",
|
26
26
|
// if you wish the publication date to be other than today, set this
|
27
|
-
publishDate: "2013/08/
|
27
|
+
publishDate: "2013/08/17",
|
28
28
|
|
29
29
|
// if there is a previously published draft, uncomment this and set its YYYY-MM-DD date
|
30
30
|
// and its maturity status
|
@@ -170,12 +170,12 @@
|
|
170
170
|
</span>
|
171
171
|
</td>
|
172
172
|
</tr>
|
173
|
-
<tr inlist='inlist' rel='mf:entries' resource='_:
|
173
|
+
<tr inlist='inlist' rel='mf:entries' resource='_:g70261593748520' typeof='earl:TestCriterion earl:TestCase http://www.w3.org/ns/rdftest#TestTurtleEval'>
|
174
174
|
<td>
|
175
|
-
<a href='#
|
175
|
+
<a href='#test_2a9f9ad07f8d834200241f6c170e3f6b'>subm-test-01</a>
|
176
176
|
</td>
|
177
177
|
<td class='UNTESTED' inlist='inlist' property='earl:assertions' typeof='earl:Assertion'>
|
178
|
-
<link href='_:
|
178
|
+
<link href='_:g70261593748520' property='earl:test' />
|
179
179
|
<link href='http://rubygems.org/gems/rdf-turtle' property='earl:subject' />
|
180
180
|
<link href='earl:notAvailable' property='earl:mode' />
|
181
181
|
<span property='earl:result' typeof='earl:TestResult'>
|
@@ -286,11 +286,11 @@
|
|
286
286
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-00.ttl' title='subm-test-00 Input'>http://example/test-00.ttl not loaded</pre>
|
287
287
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-00.out' title='subm-test-00 Result'>http://example/test-00.out not loaded</pre>
|
288
288
|
</dd>
|
289
|
-
<dt id='
|
289
|
+
<dt id='test_2a9f9ad07f8d834200241f6c170e3f6b' resource='_:g70261593748520'>
|
290
290
|
Test
|
291
291
|
<span property='dc:title mf:name'>subm-test-01</span>
|
292
292
|
</dt>
|
293
|
-
<dd resource='_:
|
293
|
+
<dd resource='_:g70261593748520'>
|
294
294
|
<p lang='en' property='dc:description'>@prefix and qnames</p>
|
295
295
|
<pre class='example actionDoc' property='mf:action' resource='http://example/test-01.ttl' title='subm-test-01 Input'>http://example/test-01.ttl not loaded</pre>
|
296
296
|
<pre class='example resultDoc' property='mf:result' resource='http://example/test-01.out' title='subm-test-01 Result'>http://example/test-01.out not loaded</pre>
|
@@ -308,10 +308,10 @@
|
|
308
308
|
<meta content='Earl Report summary generator' lang='en' property='doap:shortdesc' />
|
309
309
|
<meta content='EarlReport generates HTML+RDFa rollups of multiple EARL reports' lang='en' property='doap:description' />
|
310
310
|
version
|
311
|
-
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.2.
|
312
|
-
<span property='doap:revision'>0.2.
|
313
|
-
<meta content='earl-report-0.2.
|
314
|
-
<meta content='2013-
|
311
|
+
<span property='doap:release' resource='https://github.com/gkellogg/earl-report/tree/0.2.5' typeof='doap:Version'>
|
312
|
+
<span property='doap:revision'>0.2.5</span>
|
313
|
+
<meta content='earl-report-0.2.5' property='doap:name' />
|
314
|
+
<meta content='2013-08-06' datatype='xsd:date' property='doap:created' />
|
315
315
|
</span>
|
316
316
|
an
|
317
317
|
<a href='http://unlicense.org' property='doap:license'>Unlicensed</a>
|
@@ -1 +1 @@
|
|
1
|
-
{"@context":{"@vocab":"http://www.w3.org/ns/earl#","foaf:homepage":{"@type":"@id"},"dc":"http://purl.org/dc/terms/","doap":"http://usefulinc.com/ns/doap#","earl":"http://www.w3.org/ns/earl#","mf":"http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#","foaf":"http://xmlns.com/foaf/0.1/","rdfs":"http://www.w3.org/2000/01/rdf-schema#","assertedBy":{"@type":"@id"},"assertions":{"@type":"@id","@container":"@list"},"bibRef":{"@id":"dc:bibliographicCitation"},"created":{"@id":"doap:created","@type":"xsd:date"},"description":{"@id":"dc:description","@language":"en"},"developer":{"@id":"doap:developer","@type":"@id","@container":"@set"},"doapDesc":{"@id":"doap:description","@language":"en"},"generatedBy":{"@type":"@id"},"homepage":{"@id":"doap:homepage","@type":"@id"},"label":{"@id":"rdfs:label","@language":"en"},"language":{"@id":"doap:programming-language"},"license":{"@id":"doap:license","@type":"@id"},"mode":{"@type":"@id"},"name":{"@id":"doap:name"},"outcome":{"@type":"@id"},"release":{"@id":"doap:release","@type":"@id"},"shortdesc":{"@id":"doap:shortdesc","@language":"en"},"subject":{"@type":"@id"},"test":{"@type":"@id"},"testAction":{"@id":"mf:action","@type":"@id"},"testResult":{"@id":"mf:result","@type":"@id"},"entries":{"@id":"mf:entries","@type":"@id","@container":"@list"},"testSubjects":{"@type":"@id","@container":"@list"},"title":{"@id":"dc:title"},"xsd":{"@id":"http://www.w3.org/2001/XMLSchema#"}},"@id":"","@type":["earl:Software","doap:Project"],"name":"Turtle Test Results","bibRef":"[[TURTLE]]","generatedBy":{"@id":"http://rubygems.org/gems/earl-report","@type":"doap:Project","name":"earl-report","shortdesc":"Earl Report summary generator","doapDesc":"EarlReport generates HTML+RDFa rollups of multiple EARL reports","homepage":"https://github.com/gkellogg/earl-report","language":"Ruby","license":"http://unlicense.org","release":{"@id":"https://github.com/gkellogg/earl-report/tree/0.2.
|
1
|
+
{"@context":{"@vocab":"http://www.w3.org/ns/earl#","foaf:homepage":{"@type":"@id"},"dc":"http://purl.org/dc/terms/","doap":"http://usefulinc.com/ns/doap#","earl":"http://www.w3.org/ns/earl#","mf":"http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#","foaf":"http://xmlns.com/foaf/0.1/","rdfs":"http://www.w3.org/2000/01/rdf-schema#","assertedBy":{"@type":"@id"},"assertions":{"@type":"@id","@container":"@list"},"bibRef":{"@id":"dc:bibliographicCitation"},"created":{"@id":"doap:created","@type":"xsd:date"},"description":{"@id":"dc:description","@language":"en"},"developer":{"@id":"doap:developer","@type":"@id","@container":"@set"},"doapDesc":{"@id":"doap:description","@language":"en"},"generatedBy":{"@type":"@id"},"homepage":{"@id":"doap:homepage","@type":"@id"},"label":{"@id":"rdfs:label","@language":"en"},"language":{"@id":"doap:programming-language"},"license":{"@id":"doap:license","@type":"@id"},"mode":{"@type":"@id"},"name":{"@id":"doap:name"},"outcome":{"@type":"@id"},"release":{"@id":"doap:release","@type":"@id"},"shortdesc":{"@id":"doap:shortdesc","@language":"en"},"subject":{"@type":"@id"},"test":{"@type":"@id"},"testAction":{"@id":"mf:action","@type":"@id"},"testResult":{"@id":"mf:result","@type":"@id"},"entries":{"@id":"mf:entries","@type":"@id","@container":"@list"},"testSubjects":{"@type":"@id","@container":"@list"},"title":{"@id":"dc:title"},"xsd":{"@id":"http://www.w3.org/2001/XMLSchema#"}},"@id":"","@type":["earl:Software","doap:Project"],"name":"Turtle Test Results","bibRef":"[[TURTLE]]","generatedBy":{"@id":"http://rubygems.org/gems/earl-report","@type":"doap:Project","name":"earl-report","shortdesc":"Earl Report summary generator","doapDesc":"EarlReport generates HTML+RDFa rollups of multiple EARL reports","homepage":"https://github.com/gkellogg/earl-report","language":"Ruby","license":"http://unlicense.org","release":{"@id":"https://github.com/gkellogg/earl-report/tree/0.2.5","@type":"doap:Version","name":"earl-report-0.2.5","created":"2013-08-06","revision":"0.2.5"},"developer":{"@type":"foaf:Person","@id":"http://greggkellogg.net/foaf#me","foaf:name":"Gregg Kellogg","foaf:homepage":"http://greggkellogg.net/"}},"assertions":["/Users/gregg/Projects/earl-report/spec/test-files/report-complete.ttl"],"testSubjects":[{"@id":"http://rubygems.org/gems/rdf-turtle","@type":["earl:TestSubject","doap:Project"],"name":"RDF::Turtle","developer":[{"@type":"foaf:Person","@id":"http://greggkellogg.net/foaf#me","foaf:name":"Gregg Kellogg","foaf:homepage":"http://greggkellogg.net/"}],"doapDesc":"RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.","homepage":"http://ruby-rdf.github.com/rdf-turtle","language":"Ruby"}],"entries":[{"@id":"http://example/manifest.ttl","@type":["earl:Report","mf:Manifest"],"entries":[{"@id":"http://example/manifest.ttl#testeval00","@type":["earl:TestCriterion","earl:TestCase","http://www.w3.org/ns/rdftest#TestTurtleEval"],"title":"subm-test-00","testAction":"http://example/test-00.ttl","assertions":[{"@type":"earl:Assertion","test":"http://example/manifest.ttl#testeval00","subject":"http://rubygems.org/gems/rdf-turtle","mode":"earl:automatic","result":{"@type":"earl:TestResult","outcome":"earl:passed"},"assertedBy":"http://greggkellogg.net/foaf#me"}],"description":"Blank subject","testResult":"http://example/test-00.out"},{"@id":"_:g70261607999100","@type":["earl:TestCriterion","earl:TestCase","http://www.w3.org/ns/rdftest#TestTurtleEval"],"title":"subm-test-01","testAction":"http://example/test-01.ttl","assertions":[{"@type":"earl:Assertion","test":"_:g70261607999100","subject":"http://rubygems.org/gems/rdf-turtle","mode":"earl:notAvailable","result":{"@type":"earl:TestResult","outcome":"earl:untested"}}],"description":"@prefix and qnames","testResult":"http://example/test-01.out"}],"title":"Example Test Cases","description":"Description for Example Test Cases"}]}
|
data/spec/test-files/results.ttl
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
doap:homepage <https://github.com/gkellogg/earl-report>;
|
30
30
|
doap:programming-language "Ruby";
|
31
31
|
doap:license <http://unlicense.org>;
|
32
|
-
doap:release <https://github.com/gkellogg/earl-report/tree/0.2.
|
32
|
+
doap:release <https://github.com/gkellogg/earl-report/tree/0.2.5>;
|
33
33
|
doap:developer <http://greggkellogg.net/foaf#me> .
|
34
34
|
|
35
35
|
|
@@ -41,7 +41,7 @@
|
|
41
41
|
rdfs:comment "Description for Example Test Cases";
|
42
42
|
mf:entries (
|
43
43
|
<http://example/manifest.ttl#testeval00>
|
44
|
-
_:
|
44
|
+
_:g70261606043180) .
|
45
45
|
|
46
46
|
#
|
47
47
|
# Subject Definitions
|
@@ -76,14 +76,14 @@
|
|
76
76
|
earl:result [ a earl:TestResult; earl:outcome earl:passed ]]
|
77
77
|
) .
|
78
78
|
|
79
|
-
_:
|
79
|
+
_:g70261606043180 a earl:TestCriterion, earl:TestCase, <http://www.w3.org/ns/rdftest#TestTurtleEval>;
|
80
80
|
dc:title "subm-test-01";
|
81
81
|
dc:description """@prefix and qnames"""@en;
|
82
82
|
mf:result <http://example/test-01.out>;
|
83
83
|
mf:action <http://example/test-01.ttl>;
|
84
84
|
earl:assertions (
|
85
85
|
[ a earl:Assertion;
|
86
|
-
earl:test _:
|
86
|
+
earl:test _:g70261606043180;
|
87
87
|
earl:subject <http://rubygems.org/gems/rdf-turtle>;
|
88
88
|
earl:mode earl:notAvailable;
|
89
89
|
earl:result [ a earl:TestResult; earl:outcome earl:untested ]]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earl-report
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Kellogg
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: linkeddata
|
@@ -16,28 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ! '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 1.0.5
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ! '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 1.0.5
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json-ld
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.0.4
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.0.4
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: sparql
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
45
|
- - ! '>='
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
47
|
+
version: 1.1.0
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - ! '>='
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
54
|
+
version: 1.1.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rspec
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|