Skip to content

Commit cc9812c

Browse files
committed
Updates for 3.1 release and Ruby 2.7 calling sequences.
1 parent 8b2723f commit cc9812c

14 files changed

+211
-217
lines changed

.travis.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,20 @@
11
language: ruby
22
bundler_args: --without debug
33
script: "bundle exec rspec spec"
4-
before_install:
5-
- 'gem update --system --conservative || (gem i "rubygems-update:~>2.7" --no-document && update_rubygems)'
6-
- 'gem update bundler --conservative'
74
env:
85
- CI=true
96
gemfile:
107
- Gemfile
118
- Gemfile-pure
129
rvm:
13-
- 2.2.2
14-
- 2.3
1510
- 2.4
1611
- 2.5
1712
- 2.6
18-
- jruby-9
19-
- rbx-3
13+
- 2.7
14+
- jruby
2015
cache: bundler
2116
sudo: false
2217
matrix:
2318
allow_failures:
24-
- rvm: jruby-9
25-
- rvm: rbx-3
19+
- rvm: jruby
2620
dist: trusty

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ group :development, :test do
1515
gem "rdf-xsd", git: "https://github.com/ruby-rdf/rdf-xsd", branch: "develop"
1616
gem 'sxp', git: "https://github.com/dryruby/sxp.rb", branch: "develop"
1717
gem "redcarpet", platform: :ruby
18-
gem 'simplecov', require: false, platform: :mri
19-
gem 'coveralls', require: false, platform: :mri
18+
gem 'simplecov', platforms: :mri
19+
gem 'coveralls', '~> 0.8', platforms: :mri
2020
end
2121

2222
group :debug do

Gemfile-pure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ group :development, :test do
1515
gem "rdf-xsd", git: "https://github.com/ruby-rdf/rdf-xsd", branch: "develop"
1616
gem 'sxp', git: "https://github.com/dryruby/sxp.rb", branch: "develop"
1717
gem "redcarpet", platform: :ruby
18-
gem 'simplecov', require: false, platform: :mri
19-
gem 'coveralls', require: false, platform: :mri
18+
gem 'simplecov', platforms: :mri
19+
gem 'coveralls', '~> 0.8', platforms: :mri
2020
end
2121

2222
group :debug do

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ sparql = SPARQL::Client.new("http://dbpedia.org/sparql", headers: {'User-Agent'
4343

4444
```ruby
4545
require 'sparql/client'
46-
sparql = SPARQL::Client.new("http://dbpedia.org/sparql", { :graph => "http://dbpedia.org" })
46+
sparql = SPARQL::Client.new("http://dbpedia.org/sparql", { graph: "http://dbpedia.org" })
4747
```
4848

4949

@@ -123,11 +123,11 @@ sparql.delete_data(data)
123123

124124
## Dependencies
125125

126-
* [Ruby](http://ruby-lang.org/) (>= 2.2.2)
127-
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.0)
128-
* [Net::HTTP::Persistent](http://rubygems.org/gems/net-http-persistent) (~> 3.0)
129-
* Soft dependency on [SPARQL](http://rubygems.org/gems/sparql) (~> 3.0)
130-
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.8)
126+
* [Ruby](http://ruby-lang.org/) (>= 2.4)
127+
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.1)
128+
* [Net::HTTP::Persistent](http://rubygems.org/gems/net-http-persistent) (~> 3.1)
129+
* Soft dependency on [SPARQL](http://rubygems.org/gems/sparql) (~> 3.1)
130+
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.10)
131131

132132
## Installation
133133

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.0.1
1+
3.1.0

lib/sparql/client.rb

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class ServerError < StandardError; end
9292
#
9393
# Defaults `User-Agent` header, unless one is specified.
9494
# @option options [Hash] :read_timeout
95-
def initialize(url, options = {}, &block)
95+
def initialize(url, **options, &block)
9696
case url
9797
when RDF::Queryable
9898
@url, @options = url, options.dup
@@ -128,35 +128,35 @@ def close
128128
#
129129
# @param (see Query.ask)
130130
# @return [Query]
131-
def ask(*args)
132-
call_query_method(:ask, *args)
131+
def ask(*args, **options)
132+
call_query_method(:ask, *args, **options)
133133
end
134134

135135
##
136136
# Executes a tuple `SELECT` query.
137137
#
138138
# @param (see Query.select)
139139
# @return [Query]
140-
def select(*args)
141-
call_query_method(:select, *args)
140+
def select(*args, **options)
141+
call_query_method(:select, *args, **options)
142142
end
143143

144144
##
145145
# Executes a `DESCRIBE` query.
146146
#
147147
# @param (see Query.describe)
148148
# @return [Query]
149-
def describe(*args)
150-
call_query_method(:describe, *args)
149+
def describe(*args, **options)
150+
call_query_method(:describe, *args, **options)
151151
end
152152

153153
##
154154
# Executes a graph `CONSTRUCT` query.
155155
#
156156
# @param (see Query.construct)
157157
# @return [Query]
158-
def construct(*args)
159-
call_query_method(:construct, *args)
158+
def construct(*args, **options)
159+
call_query_method(:construct, *args, **options)
160160
end
161161

162162
##
@@ -179,15 +179,15 @@ def construct(*args)
179179
# client.insert_data(data)
180180
#
181181
# @example Inserting data into a named graph
182-
# client.insert_data(data, :graph => "http://example.org/")
182+
# client.insert_data(data, graph: "http://example.org/")
183183
#
184184
# @param [RDF::Enumerable] data
185185
# @param [Hash{Symbol => Object}] options
186186
# @option options [RDF::URI, String] :graph
187187
# @return [void] `self`
188188
# @see http://www.w3.org/TR/sparql11-update/#insertData
189-
def insert_data(data, options = {})
190-
self.update(Update::InsertData.new(data, options))
189+
def insert_data(data, **options)
190+
self.update(Update::InsertData.new(data, **options))
191191
end
192192

193193
##
@@ -200,15 +200,15 @@ def insert_data(data, options = {})
200200
# client.delete_data(data)
201201
#
202202
# @example Deleting data from a named graph
203-
# client.delete_data(data, :graph => "http://example.org/")
203+
# client.delete_data(data, graph: "http://example.org/")
204204
#
205205
# @param [RDF::Enumerable] data
206206
# @param [Hash{Symbol => Object}] options
207207
# @option options [RDF::URI, String] :graph
208208
# @return [void] `self`
209209
# @see http://www.w3.org/TR/sparql11-update/#deleteData
210-
def delete_data(data, options = {})
211-
self.update(Update::DeleteData.new(data, options))
210+
def delete_data(data, **options)
211+
self.update(Update::DeleteData.new(data, **options))
212212
end
213213

214214
##
@@ -223,8 +223,8 @@ def delete_data(data, options = {})
223223
# @option options [RDF::URI, String] :graph
224224
# @return [void] `self`
225225
# @see http://www.w3.org/TR/sparql11-update/#deleteInsert
226-
def delete_insert(delete_graph, insert_graph = nil, where_graph = nil, options = {})
227-
self.update(Update::DeleteInsert.new(delete_graph, insert_graph, where_graph, options))
226+
def delete_insert(delete_graph, insert_graph = nil, where_graph = nil, **options)
227+
self.update(Update::DeleteInsert.new(delete_graph, insert_graph, where_graph, **options))
228228
end
229229

230230
##
@@ -240,8 +240,8 @@ def delete_insert(delete_graph, insert_graph = nil, where_graph = nil, options =
240240
# @option options [Boolean] :silent
241241
# @return [void] `self`
242242
# @see http://www.w3.org/TR/sparql11-update/#clear
243-
def clear_graph(graph_uri, options = {})
244-
self.clear(:graph, graph_uri, options)
243+
def clear_graph(graph_uri, **options)
244+
self.clear(:graph, graph_uri, **options)
245245
end
246246

247247
##
@@ -267,7 +267,7 @@ def clear_graph(graph_uri, options = {})
267267
# @option options [Boolean] :silent
268268
# @return [void] `self`
269269
#
270-
# @overload clear(what, *arguments, options = {})
270+
# @overload clear(what, *arguments, **options)
271271
# @param [Symbol, #to_sym] what
272272
# @param [Array] arguments splat of other arguments to {Update::Clear}.
273273
# @param [Hash{Symbol => Object}] options
@@ -281,9 +281,9 @@ def clear(what, *arguments)
281281

282282
##
283283
# @private
284-
def call_query_method(meth, *args)
284+
def call_query_method(meth, *args, **options)
285285
client = self
286-
result = Query.send(meth, *args)
286+
result = Query.send(meth, *args, **options)
287287
(class << result; self; end).send(:define_method, :execute) do
288288
client.query(self)
289289
end
@@ -308,20 +308,20 @@ def nodes
308308
# @return [Array<RDF::Query::Solution>]
309309
# @raise [IOError] if connection is closed
310310
# @see http://www.w3.org/TR/sparql11-protocol/#query-operation
311-
def query(query, options = {})
311+
def query(query, **options)
312312
@op = :query
313313
@alt_endpoint = options[:endpoint]
314314
case @url
315315
when RDF::Queryable
316316
require 'sparql' unless defined?(::SPARQL::Grammar)
317317
begin
318-
SPARQL.execute(query, @url, options)
318+
SPARQL.execute(query, @url, **options)
319319
rescue SPARQL::MalformedQuery
320320
$stderr.puts "error running #{query}: #{$!}"
321321
raise
322322
end
323323
else
324-
parse_response(response(query, options), options)
324+
parse_response(response(query, **options), **options)
325325
end
326326
end
327327

@@ -336,15 +336,15 @@ def query(query, options = {})
336336
# @return [void] `self`
337337
# @raise [IOError] if connection is closed
338338
# @see http://www.w3.org/TR/sparql11-protocol/#update-operation
339-
def update(query, options = {})
339+
def update(query, **options)
340340
@op = :update
341341
@alt_endpoint = options[:endpoint]
342342
case @url
343343
when RDF::Queryable
344344
require 'sparql' unless defined?(::SPARQL::Grammar)
345-
SPARQL.execute(query, @url, options.merge(update: true))
345+
SPARQL.execute(query, @url, update: true, **options)
346346
else
347-
response(query, options)
347+
response(query, **options)
348348
end
349349
self
350350
end
@@ -359,7 +359,7 @@ def update(query, options = {})
359359
# @option options [Hash] :headers
360360
# @return [String]
361361
# @raise [IOError] if connection is closed
362-
def response(query, options = {})
362+
def response(query, **options)
363363
headers = options[:headers] || @headers
364364
headers['Accept'] = options[:content_type] if options[:content_type]
365365
request(query, headers) do |response|
@@ -380,7 +380,7 @@ def response(query, options = {})
380380
# @param [Net::HTTPSuccess] response
381381
# @param [Hash{Symbol => Object}] options
382382
# @return [Object]
383-
def parse_response(response, options = {})
383+
def parse_response(response, **options)
384384
case options[:content_type] || response.content_type
385385
when NilClass
386386
response.body
@@ -395,7 +395,7 @@ def parse_response(response, options = {})
395395
when RESULT_TSV
396396
self.class.parse_tsv_bindings(response.body, nodes)
397397
else
398-
parse_rdf_serialization(response, options)
398+
parse_rdf_serialization(response, **options)
399399
end
400400
end
401401

@@ -432,9 +432,9 @@ def self.parse_json_value(value, nodes = {})
432432
when :uri
433433
RDF::URI.new(value['value'])
434434
when :literal
435-
RDF::Literal.new(value['value'], :datatype => value['datatype'], :language => value['xml:lang'])
435+
RDF::Literal.new(value['value'], datatype: value['datatype'], language: value['xml:lang'])
436436
when :'typed-literal'
437-
RDF::Literal.new(value['value'], :datatype => value['datatype'])
437+
RDF::Literal.new(value['value'], datatype: value['datatype'])
438438
else nil
439439
end
440440
end
@@ -550,7 +550,7 @@ def self.parse_xml_value(value, nodes = {})
550550
when :literal
551551
lang = value.respond_to?(:attr) ? value.attr('xml:lang') : value.attributes['xml:lang']
552552
datatype = value.respond_to?(:attr) ? value.attr('datatype') : value.attributes['datatype']
553-
RDF::Literal.new(value.text, :language => lang, :datatype => datatype)
553+
RDF::Literal.new(value.text, language: lang, datatype: datatype)
554554
else nil
555555
end
556556
end
@@ -559,8 +559,8 @@ def self.parse_xml_value(value, nodes = {})
559559
# @param [Net::HTTPSuccess] response
560560
# @param [Hash{Symbol => Object}] options
561561
# @return [RDF::Enumerable]
562-
def parse_rdf_serialization(response, options = {})
563-
options = {:content_type => response.content_type} unless options[:content_type]
562+
def parse_rdf_serialization(response, **options)
563+
options = {content_type: response.content_type} unless options[:content_type]
564564
if reader = RDF::Reader.for(options)
565565
reader.new(response.body)
566566
else
@@ -750,7 +750,7 @@ def request_method(query)
750750
# @see http://www.w3.org/TR/sparql11-protocol/#query-via-get
751751
def make_get_request(query, headers = {})
752752
url = self.url.dup
753-
url.query_values = (url.query_values || {}).merge(:query => query.to_s)
753+
url.query_values = (url.query_values || {}).merge(query: query.to_s)
754754
set_url_default_graph url unless @options[:graph].nil?
755755
request = Net::HTTP::Get.new(url.request_uri, self.headers.merge(headers))
756756
request

0 commit comments

Comments
 (0)