Skip to content

Commit c5dcafe

Browse files
committed
Updates for 3.1 and Ruby 2.7
1 parent 0076396 commit c5dcafe

14 files changed

Lines changed: 93 additions & 88 deletions

File tree

.travis.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
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
global:
96
- CI=true
@@ -12,17 +9,14 @@ gemfile:
129
- Gemfile
1310
- Gemfile-pure
1411
rvm:
15-
- 2.2.2
16-
- 2.3
1712
- 2.4
1813
- 2.5
1914
- 2.6
20-
- jruby-9
21-
- rbx-3
15+
- 2.7
16+
- jruby
2217
cache: bundler
2318
sudo: false
2419
matrix:
2520
allow_failures:
26-
- rvm: jruby-9
27-
- rvm: rbx-3
21+
- rvm: jruby
2822
dist: trusty

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Install with `gem install rdf-rdfxml`
1818

1919
* 100% free and unencumbered [public domain](http://unlicense.org/) software.
2020
* Implements a complete parser for [RDF/XML][].
21-
* Compatible with Ruby >= 2.2.2.
21+
* Compatible with Ruby >= 2.4.
2222

2323
## Usage:
2424
Instantiate a parser and parse source, specifying type and base-URL
@@ -40,8 +40,8 @@ Write a graph to a file:
4040
end
4141

4242
## Dependencies
43-
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.0)
44-
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.8.1)
43+
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.1)
44+
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.10)
4545

4646
## Documentation
4747
Full documentation available on [Rubydoc.info][RDF/XML doc])

VERSION

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

lib/rdf/rdfxml/reader.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def initialize(base, element, graph, &cb)
4141
end
4242

4343
# Clone existing evaluation context adding information from element
44-
def clone(element, options = {}, &cb)
44+
def clone(element, **options, &cb)
4545
new_ec = EvaluationContext.new(@base, nil, @graph)
4646
new_ec.uri_mappings = self.uri_mappings.clone
4747
new_ec.language = self.language
@@ -136,7 +136,7 @@ def inspect
136136
# @yieldparam [RDF::Reader] reader
137137
# @yieldreturn [void] ignored
138138
# @raise [Error] Raises RDF::ReaderError if _validate_
139-
def initialize(input = $stdin, options = {}, &block)
139+
def initialize(input = $stdin, **options, &block)
140140
super do
141141
@library = case options[:library]
142142
when nil
@@ -156,7 +156,7 @@ def initialize(input = $stdin, options = {}, &block)
156156
self.extend(@implementation)
157157

158158
input.rewind if input.respond_to?(:rewind)
159-
initialize_xml(input, options) rescue log_fatal($!.message)
159+
initialize_xml(input, **options) rescue log_fatal($!.message)
160160

161161
log_error("Empty document") if root.nil?
162162
log_error("Synax errors") {doc_errors} if !doc_errors.empty?
@@ -427,7 +427,7 @@ def nodeElement(el, ec)
427427
else
428428
literal_opts[:language] = child_ec.language
429429
end
430-
literal = RDF::Literal.new(child.inner_text, literal_opts)
430+
literal = RDF::Literal.new(child.inner_text, **literal_opts)
431431
add_triple(child, subject, predicate, literal)
432432
reify(id, child, subject, predicate, literal, ec) if id
433433
elsif parseType == "Resource"

lib/rdf/rdfxml/reader/nokogiri.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ def method_missing(method, *args)
227227
#
228228
# @param [Hash{Symbol => Object}] options
229229
# @return [void]
230-
def initialize_xml(input, options = {})
230+
def initialize_xml(input, **options)
231231
require 'nokogiri' unless defined?(::Nokogiri)
232232
@doc = case input
233233
when ::Nokogiri::XML::Document

lib/rdf/rdfxml/reader/rexml.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ def method_missing(method, *args)
245245
#
246246
# @param [Hash{Symbol => Object}] options
247247
# @return [void]
248-
def initialize_xml(input, options = {})
248+
def initialize_xml(input, **options)
249249
require 'rexml/document' unless defined?(::REXML)
250250
@doc = case input
251251
when ::REXML::Document

lib/rdf/rdfxml/writer.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def self.options
113113
# URI to use as @href for output stylesheet processing instruction.
114114
# @yield [writer]
115115
# @yieldparam [RDF::Writer] writer
116-
def initialize(output = $stdout, options = {}, &block)
116+
def initialize(output = $stdout, **options, &block)
117117
super
118118
end
119119

@@ -170,7 +170,7 @@ def write_epilogue
170170
# @return String
171171
# The rendered document is returned as a string
172172
# Return Haml template for document from `haml_template[:subject]`
173-
def render_subject(subject, predicates, options = {}, &block)
173+
def render_subject(subject, predicates, **options, &block)
174174
# extract those properties that can be rendered as attributes
175175
attr_props = if [:untyped, :typed].include?(@attributes)
176176
options[:property_values].inject({}) do |memo, (prop, values)|
@@ -189,7 +189,7 @@ def render_subject(subject, predicates, options = {}, &block)
189189
end
190190

191191
predicates -= attr_props.keys.map {|k| expand_curie(k).to_s}
192-
super(subject, predicates, options.merge(attr_props: attr_props), &block)
192+
super(subject, predicates, **options.merge(attr_props: attr_props), &block)
193193
end
194194
# See if we can serialize as attribute.
195195
# * untyped attributes that aren't duplicated where xml:lang == @lang
@@ -228,8 +228,8 @@ def predicate_as_attribute?(prop, object)
228228
# @yieldreturn [:ignored]
229229
# @return String
230230
# The rendered document is returned as a string
231-
def render_document(subjects, options = {}, &block)
232-
super(subjects, options.merge(stylesheet: @options[:stylesheet]), &block)
231+
def render_document(subjects, **options, &block)
232+
super(subjects, **options.merge(stylesheet: @options[:stylesheet]), &block)
233233
end
234234

235235
# Render a single- or multi-valued predicate using `haml_template[:property_value]` or `haml_template[:property_values]`. Yields each object for optional rendering. The block should only render for recursive subject definitions (i.e., where the object is also a subject and is rendered underneath the first referencing subject).
@@ -256,7 +256,7 @@ def render_document(subjects, options = {}, &block)
256256
# The block should only return a string for recursive object definitions.
257257
# @return String
258258
# The rendered document is returned as a string
259-
def render_property(predicate, objects, options = {}, &block)
259+
def render_property(predicate, objects, **options, &block)
260260
log_debug {"render_property(#{predicate}): #{objects.inspect}, #{options.inspect}"}
261261
# If there are multiple objects, and no :property_values is defined, call recursively with
262262
# each object
@@ -280,7 +280,7 @@ def render_property(predicate, objects, options = {}, &block)
280280

281281
log_debug {"list: #{list.inspect} #{list.to_a}"}
282282
log_depth do
283-
render_collection(predicate, list, options) do |object|
283+
render_collection(predicate, list, **options) do |object|
284284
yield(object, true) if block_given?
285285
end
286286
end
@@ -290,7 +290,7 @@ def render_property(predicate, objects, options = {}, &block)
290290
if objects.length > 1
291291
# Render each property using property_value template
292292
objects.map do |object|
293-
log_depth {render_property(predicate, [object], options, &block)}
293+
log_depth {render_property(predicate, [object], **options, &block)}
294294
end.join(" ")
295295
else
296296
log_fatal("Missing property template", exception: RDF::WriterError) if template.nil?
@@ -301,7 +301,7 @@ def render_property(predicate, objects, options = {}, &block)
301301
property: get_qname(predicate),
302302
recurse: log_depth <= @max_depth
303303
}.merge(options)
304-
hamlify(template, options, &block)
304+
hamlify(template, **options, &block)
305305
end
306306
end
307307

@@ -319,7 +319,7 @@ def render_property(predicate, objects, options = {}, &block)
319319
# The block should only return a string for recursive object definitions.
320320
# @return String
321321
# The rendered collection is returned as a string
322-
def render_collection(predicate, list, options = {}, &block)
322+
def render_collection(predicate, list, **options, &block)
323323
template = options[:haml] || haml_template[:collection]
324324

325325
options = {
@@ -328,7 +328,7 @@ def render_collection(predicate, list, options = {}, &block)
328328
property: get_qname(predicate),
329329
recurse: log_depth <= @max_depth,
330330
}.merge(options)
331-
hamlify(template, options) do |object|
331+
hamlify(template, **options) do |object|
332332
yield object
333333
end
334334
end

rdf-rdfxml.gemspec

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ Gem::Specification.new do |gem|
1818
gem.files = %w(README.md History.md AUTHORS CONTRIBUTORS VERSION UNLICENSE) + Dir.glob('lib/**/*.rb')
1919
gem.require_paths = %w(lib)
2020

21-
gem.required_ruby_version = '>= 2.2.2'
21+
gem.required_ruby_version = '>= 2.4'
2222
gem.requirements = []
2323

24-
gem.add_runtime_dependency 'rdf', '~> 3.0'
24+
gem.add_runtime_dependency 'rdf', '~> 3.1'
2525
gem.add_runtime_dependency 'rdf-xsd', '~> 3.0'
2626
gem.add_runtime_dependency 'rdf-rdfa', '~> 3.0'
2727
gem.add_runtime_dependency 'htmlentities', '~> 4.3'
@@ -31,14 +31,14 @@ Gem::Specification.new do |gem|
3131
gem.add_development_dependency 'open-uri-cached', '~> 0.0', '>= 0.0.5'
3232
gem.add_development_dependency 'spira', '= 0.0.12'
3333
#gem.add_development_dependency 'json-ld', '~> 3.0'
34-
gem.add_development_dependency 'json-ld', '>= 2.1', '< 4.0'
35-
gem.add_development_dependency 'rspec', '~> 3.7'
36-
gem.add_development_dependency 'rspec-its', '~> 1.2'
34+
gem.add_development_dependency 'json-ld', '>= 3.1'
35+
gem.add_development_dependency 'rspec', '~> 3.9'
36+
gem.add_development_dependency 'rspec-its', '~> 1.3'
3737
gem.add_development_dependency 'rdf-isomorphic', '~> 3.0'
38-
gem.add_development_dependency 'rdf-turtle', '~> 3.0'
39-
gem.add_development_dependency 'rdf-spec', '~> 3.0'
38+
gem.add_development_dependency 'rdf-turtle', '~> 3.1'
39+
gem.add_development_dependency 'rdf-spec', '~> 3.1'
4040
gem.add_development_dependency 'rdf-vocab', '~> 3.0'
41-
gem.add_development_dependency 'yard' , '~> 0.9.12'
41+
gem.add_development_dependency 'yard' , '~> 0.9.20'
4242

4343
gem.post_install_message = nil
4444
end

script/parse

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ require 'getoptlong'
99
require 'logger'
1010
require 'open-uri'
1111

12-
def run(input, options)
12+
def run(input, **options)
1313
reader_class = RDF::Reader.for(options[:input_format].to_sym)
1414
raise "Reader not found for #{$input_format}" unless reader_class
1515

1616
start = Time.new
1717
num = 0
1818

1919
if options[:output_format] == :ntriples || options[:quiet]
20-
reader_class.new(input, options).each do |statement|
20+
reader_class.new(input, **options).each do |statement|
2121
num += 1
2222
if options[:quiet]
2323
#print "."
@@ -26,12 +26,12 @@ def run(input, options)
2626
end
2727
end
2828
elsif options[:output_format] == :inspect
29-
reader_class.new(input, options).each do |statement|
29+
reader_class.new(input, **options).each do |statement|
3030
num += 1
3131
options[:output].puts statement.inspect
3232
end
3333
else
34-
r = reader_class.new(input, options)
34+
r = reader_class.new(input, **options)
3535
g = RDF::Repository.new << r
3636
num = g.count
3737
STDERR.puts "graph: #{g.dump(:ttl)}" if options[:verbose]
@@ -93,9 +93,9 @@ end
9393

9494
if ARGV.empty?
9595
s = input ? input : $stdin.read
96-
run(StringIO.new(s), options)
96+
run(StringIO.new(s), **options)
9797
else
9898
ARGV.each do |test_file|
99-
run(Kernel.open(test_file), options)
99+
run(Kernel.open(test_file), **options)
100100
end
101101
end

script/tc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def earl_preamble(options)
3030
)
3131
end
3232

33-
def run_tc(tc, options)
33+
def run_tc(tc, **options)
3434
STDERR.write "run #{tc.name}"
3535

3636
if options[:verbose]

0 commit comments

Comments
 (0)