RSpec Extensions for RDF.rb
Shared specs are implemented in modules which typically require that an instance be defined in a class variable in a
before(:each) block. For example, an class implementing
RDF::Countable could test this behavior by defining
@countable as an instance variable and including
RDF_Countable as follows:
describe ::Enumerable do before :each do # The available reference implementations are `RDF::Repository` and # `RDF::Graph`, but a plain Ruby array will do fine as well: @enumerable = ::..dup.extend(::Enumerable) end # @see lib/rdf/spec/enumerable.rb in rdf-spec include RDF_Enumerable end
Note that in most cases, if the instance is empty and mutable, the appropriate statements will be added. When testing a non-mutable instance, the data must be pre-loaded.
The recommended installation method is via RubyGems.
To install the latest official release of the
RDF::Spec gem, do:
% [sudo] gem install rdf-spec
To get a local working copy of the development repository, do:
% git clone git://github.com/ruby-rdf/rdf-spec.git
Alternatively, download the latest development version as a tarball as follows:
% wget https://github.com/ruby-rdf/rdf-spec/tarball/master
- Arto Bendiken - https://ar.to/
- Ben Lavender - https://bhuga.net/
- Gregg Kellogg - https://greggkellogg.net/
- Do your best to adhere to the existing coding conventions and idioms.
- Don't use hard tabs, and don't leave trailing whitespace on any line.
- Do refer to the RubySpec Style Guide for best practices.
- Don't touch the
VERSIONfiles. If you need to change them, do so on your private branch only.
- Do feel free to add yourself to the
CONTRIBUTORSfile and the corresponding list in the the
README. Alphabetical order applies.
- Don't touch the
AUTHORSfile. If your contributions are significant enough, be assured we will eventually add you in there.
- Do note that in order for us to merge any non-trivial changes (as a rule of thumb, additions larger than about 15 lines of code), we need an explicit public domain dedication on record from you, which you will be asked to agree to on the first commit to a repo within the organization. Note that the agreement applies to all repos in the Ruby RDF organization.