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 RDF::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 = RDF::Spec.quads.dup.extend(RDF::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 http://github.com/ruby-rdf/rdf-spec/tarball/master
- Arto Bendiken - http://ar.to/
- Ben Lavender - http://bhuga.net/
- Gregg Kellogg - http://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.