Skip to content

Commit

Permalink
Finish 3.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
gkellogg committed Dec 16, 2019
2 parents fbf63f0 + c25ba20 commit a6e62af
Show file tree
Hide file tree
Showing 16 changed files with 110 additions and 123 deletions.
19 changes: 11 additions & 8 deletions .travis.yml
@@ -1,18 +1,21 @@
language: ruby
bundler_args: --without debug
script: "bundle exec rspec spec"
env:
- CI=true
global:
- CI=true
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
gemfile:
- Gemfile
- Gemfile-pure
rvm:
- 2.2
- 2.3
- 2.4
- jruby-9
- rbx-3
- 2.5
- 2.6
- 2.7
- jruby
cache: bundler
sudo: false
matrix:
allow_failures:
- rvm: jruby-9
- rvm: rbx-3
- rvm: jruby
dist: trusty
8 changes: 1 addition & 7 deletions Gemfile
Expand Up @@ -7,7 +7,7 @@ gem 'rdf-rdfa', github: "ruby-rdf/rdf-rdfa", branch: "develop"
gem "nokogiri"

group :development do
gem 'ebnf', github: "gkellogg/ebnf", branch: "develop"
gem 'ebnf', github: "dryruby/ebnf", branch: "develop"
gem 'json-ld', github: "ruby-rdf/json-ld", branch: "develop"
gem 'rdf-aggregate-repo', github: "ruby-rdf/rdf-aggregate-repo", branch: "develop"
gem 'rdf-isomorphic', github: "ruby-rdf/rdf-isomorphic", branch: "develop"
Expand All @@ -24,9 +24,3 @@ group :debug do
gem "ruby-debug", platforms: :jruby
gem "byebug", platform: :mri
end

platforms :rbx do
gem 'rubysl', '~> 2.0'
gem 'rubinius', '~> 2.0'
gem 'json'
end
8 changes: 1 addition & 7 deletions Gemfile-pure
Expand Up @@ -7,7 +7,7 @@ gem 'rdf', github: "ruby-rdf/rdf", branch: "develop"
gem 'rdf-rdfa', github: "ruby-rdf/rdf-rdfa", branch: "develop"

group :development do
gem 'ebnf', github: "gkellogg/ebnf", branch: "develop"
gem 'ebnf', github: "dryruby/ebnf", branch: "develop"
gem 'json-ld', github: "ruby-rdf/json-ld", branch: "develop"
gem 'rdf-aggregate-repo', github: "ruby-rdf/rdf-aggregate-repo", branch: "develop"
gem 'rdf-isomorphic', github: "ruby-rdf/rdf-isomorphic", branch: "develop"
Expand All @@ -24,9 +24,3 @@ group :debug do
gem "ruby-debug", platforms: :jruby
gem "byebug", platform: :mri
end

platforms :rbx do
gem 'rubysl', '~> 2.0'
gem 'rubinius', '~> 2.0'
gem 'json'
end
6 changes: 3 additions & 3 deletions README.md
Expand Up @@ -18,7 +18,7 @@ Install with `gem install rdf-rdfxml`

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

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

## Dependencies
* [RDF.rb](http://rubygems.org/gems/rdf) (>= 2.0)
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.6.0)
* [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.1)
* Soft dependency on [Nokogiri](http://rubygems.org/gems/nokogiri) (>= 1.10)

## Documentation
Full documentation available on [Rubydoc.info][RDF/XML doc])
Expand Down
2 changes: 1 addition & 1 deletion VERSION
@@ -1 +1 @@
2.2.1
3.1.0
8 changes: 4 additions & 4 deletions lib/rdf/rdfxml/reader.rb
Expand Up @@ -41,7 +41,7 @@ def initialize(base, element, graph, &cb)
end

# Clone existing evaluation context adding information from element
def clone(element, options = {}, &cb)
def clone(element, **options, &cb)
new_ec = EvaluationContext.new(@base, nil, @graph)
new_ec.uri_mappings = self.uri_mappings.clone
new_ec.language = self.language
Expand Down Expand Up @@ -136,7 +136,7 @@ def inspect
# @yieldparam [RDF::Reader] reader
# @yieldreturn [void] ignored
# @raise [Error] Raises RDF::ReaderError if _validate_
def initialize(input = $stdin, options = {}, &block)
def initialize(input = $stdin, **options, &block)
super do
@library = case options[:library]
when nil
Expand All @@ -156,7 +156,7 @@ def initialize(input = $stdin, options = {}, &block)
self.extend(@implementation)

input.rewind if input.respond_to?(:rewind)
initialize_xml(input, options) rescue log_fatal($!.message)
initialize_xml(input, **options) rescue log_fatal($!.message)

log_error("Empty document") if root.nil?
log_error("Synax errors") {doc_errors} if !doc_errors.empty?
Expand Down Expand Up @@ -427,7 +427,7 @@ def nodeElement(el, ec)
else
literal_opts[:language] = child_ec.language
end
literal = RDF::Literal.new(child.inner_text, literal_opts)
literal = RDF::Literal.new(child.inner_text, **literal_opts)
add_triple(child, subject, predicate, literal)
reify(id, child, subject, predicate, literal, ec) if id
elsif parseType == "Resource"
Expand Down
2 changes: 1 addition & 1 deletion lib/rdf/rdfxml/reader/nokogiri.rb
Expand Up @@ -227,7 +227,7 @@ def method_missing(method, *args)
#
# @param [Hash{Symbol => Object}] options
# @return [void]
def initialize_xml(input, options = {})
def initialize_xml(input, **options)
require 'nokogiri' unless defined?(::Nokogiri)
@doc = case input
when ::Nokogiri::XML::Document
Expand Down
2 changes: 1 addition & 1 deletion lib/rdf/rdfxml/reader/rexml.rb
Expand Up @@ -245,7 +245,7 @@ def method_missing(method, *args)
#
# @param [Hash{Symbol => Object}] options
# @return [void]
def initialize_xml(input, options = {})
def initialize_xml(input, **options)
require 'rexml/document' unless defined?(::REXML)
@doc = case input
when ::REXML::Document
Expand Down
22 changes: 11 additions & 11 deletions lib/rdf/rdfxml/writer.rb
Expand Up @@ -113,7 +113,7 @@ def self.options
# URI to use as @href for output stylesheet processing instruction.
# @yield [writer]
# @yieldparam [RDF::Writer] writer
def initialize(output = $stdout, options = {}, &block)
def initialize(output = $stdout, **options, &block)
super
end

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

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

# 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).
Expand All @@ -256,7 +256,7 @@ def render_document(subjects, options = {}, &block)
# The block should only return a string for recursive object definitions.
# @return String
# The rendered document is returned as a string
def render_property(predicate, objects, options = {}, &block)
def render_property(predicate, objects, **options, &block)
log_debug {"render_property(#{predicate}): #{objects.inspect}, #{options.inspect}"}
# If there are multiple objects, and no :property_values is defined, call recursively with
# each object
Expand All @@ -280,7 +280,7 @@ def render_property(predicate, objects, options = {}, &block)

log_debug {"list: #{list.inspect} #{list.to_a}"}
log_depth do
render_collection(predicate, list, options) do |object|
render_collection(predicate, list, **options) do |object|
yield(object, true) if block_given?
end
end
Expand All @@ -290,7 +290,7 @@ def render_property(predicate, objects, options = {}, &block)
if objects.length > 1
# Render each property using property_value template
objects.map do |object|
log_depth {render_property(predicate, [object], options, &block)}
log_depth {render_property(predicate, [object], **options, &block)}
end.join(" ")
else
log_fatal("Missing property template", exception: RDF::WriterError) if template.nil?
Expand All @@ -301,7 +301,7 @@ def render_property(predicate, objects, options = {}, &block)
property: get_qname(predicate),
recurse: log_depth <= @max_depth
}.merge(options)
hamlify(template, options, &block)
hamlify(template, **options, &block)
end
end

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

options = {
Expand All @@ -328,7 +328,7 @@ def render_collection(predicate, list, options = {}, &block)
property: get_qname(predicate),
recurse: log_depth <= @max_depth,
}.merge(options)
hamlify(template, options) do |object|
hamlify(template, **options) do |object|
yield object
end
end
Expand Down
43 changes: 14 additions & 29 deletions rdf-rdfxml.gemspec
Expand Up @@ -17,41 +17,26 @@ Gem::Specification.new do |gem|
gem.platform = Gem::Platform::RUBY
gem.files = %w(README.md History.md AUTHORS CONTRIBUTORS VERSION UNLICENSE) + Dir.glob('lib/**/*.rb')
gem.require_paths = %w(lib)
gem.has_rdoc = false

gem.required_ruby_version = '>= 2.2.2'
gem.required_ruby_version = '>= 2.4'
gem.requirements = []

#gem.add_runtime_dependency 'rdf', '~> 3.0'
#gem.add_runtime_dependency 'rdf-rdfa', '~> 3.0'
#gem.add_runtime_dependency 'rdf-xsd', '~> 3.0'
gem.add_runtime_dependency 'rdf', '>= 2.2', '< 4.0'
gem.add_runtime_dependency 'rdf-rdfa', '>= 2.2', '< 4.0'
gem.add_runtime_dependency 'rdf-xsd', '>= 2.2', '< 4.0'
gem.add_runtime_dependency 'rdf', '~> 3.1'
gem.add_runtime_dependency 'rdf-xsd', '~> 3.1'
gem.add_runtime_dependency 'rdf-rdfa', '~> 3.1'
gem.add_runtime_dependency 'htmlentities', '~> 4.3'

#gem.add_development_dependency 'nokogiri' , '>= 1.6.1' # conditionally done in Gemfile
#gem.add_development_dependency 'equivalent-xml' , '~> 0.2' # conditionally done in Gemfile
#gem.add_development_dependency 'nokogiri' , '~> 1.10'
#gem.add_development_dependency 'equivalent-xml' , '~> 0.6' # conditionally done in Gemfile
gem.add_development_dependency 'open-uri-cached', '~> 0.0', '>= 0.0.5'
gem.add_development_dependency 'spira', '= 0.0.12'
#gem.add_development_dependency 'json-ld', '~> 3.0'
gem.add_development_dependency 'json-ld', '>= 2.1', '< 4.0'
gem.add_development_dependency 'rspec', '~> 3.4'
gem.add_development_dependency 'rspec-its', '~> 1.2'
#gem.add_development_dependency 'rdf-isomorphic', '~> 3.0'
#gem.add_development_dependency 'rdf-turtle', '~> 3.0'
#gem.add_development_dependency 'rdf-spec', '~> 3.0'
#gem.add_development_dependency 'rdf-vocab', '~> 3.0'
gem.add_development_dependency 'rdf-isomorphic', '>= 2.2', '< 4.0'
gem.add_development_dependency 'rdf-turtle', '>= 2.2', '< 4.0'
gem.add_development_dependency 'rdf-spec', '>= 2.2', '< 4.0'
gem.add_development_dependency 'rdf-vocab', '>= 2.2', '< 4.0'
gem.add_development_dependency 'yard' , '~> 0.8'

# Rubinius has it's own dependencies
if RUBY_ENGINE == "rbx" && RUBY_VERSION >= "2.1.0"
gem.add_runtime_dependency "racc"
end
gem.add_development_dependency 'json-ld', '>= 3.1'
gem.add_development_dependency 'rspec', '~> 3.9'
gem.add_development_dependency 'rspec-its', '~> 1.3'
gem.add_development_dependency 'rdf-isomorphic', '~> 3.1'
gem.add_development_dependency 'rdf-turtle', '~> 3.1'
gem.add_development_dependency 'rdf-spec', '~> 3.1'
gem.add_development_dependency 'rdf-vocab', '~> 3.1'
gem.add_development_dependency 'yard' , '~> 0.9.20'

gem.post_install_message = nil
end
Expand Down
12 changes: 6 additions & 6 deletions script/parse
Expand Up @@ -9,15 +9,15 @@ require 'getoptlong'
require 'logger'
require 'open-uri'

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

start = Time.new
num = 0

if options[:output_format] == :ntriples || options[:quiet]
reader_class.new(input, options).each do |statement|
reader_class.new(input, **options).each do |statement|
num += 1
if options[:quiet]
#print "."
Expand All @@ -26,12 +26,12 @@ def run(input, options)
end
end
elsif options[:output_format] == :inspect
reader_class.new(input, options).each do |statement|
reader_class.new(input, **options).each do |statement|
num += 1
options[:output].puts statement.inspect
end
else
r = reader_class.new(input, options)
r = reader_class.new(input, **options)
g = RDF::Repository.new << r
num = g.count
STDERR.puts "graph: #{g.dump(:ttl)}" if options[:verbose]
Expand Down Expand Up @@ -93,9 +93,9 @@ end

if ARGV.empty?
s = input ? input : $stdin.read
run(StringIO.new(s), options)
run(StringIO.new(s), **options)
else
ARGV.each do |test_file|
run(Kernel.open(test_file), options)
run(Kernel.open(test_file), **options)
end
end
2 changes: 1 addition & 1 deletion script/tc
Expand Up @@ -30,7 +30,7 @@ def earl_preamble(options)
)
end

def run_tc(tc, options)
def run_tc(tc, **options)
STDERR.write "run #{tc.name}"

if options[:verbose]
Expand Down
4 changes: 2 additions & 2 deletions spec/jruby_spec.rb
Expand Up @@ -38,9 +38,9 @@
end

# Serialize @graph to a string and compare against regexps
def serialize(options = {})
def serialize(**options)
@debug = []
result = RDF::RDFXML::Writer.buffer({logger: false, standard_prefixes: true}.merge(options)) do |writer|
result = RDF::RDFXML::Writer.buffer(logger: false, standard_prefixes: true, **options) do |writer|
writer << @graph
end
require 'cgi'
Expand Down
4 changes: 2 additions & 2 deletions spec/reader_spec.rb
Expand Up @@ -1126,8 +1126,8 @@
end
end

def parse(input, options)
RDF::Repository.new << RDF::RDFXML::Reader.new(input, options.merge(logger: logger, library: @library))
def parse(input, **options)
RDF::Repository.new << RDF::RDFXML::Reader.new(input, logger: logger, library: @library, **options)
end
end

0 comments on commit a6e62af

Please sign in to comment.