Overview
This gem implements the core functionalities of the LIMS (Laboratory Information Management System). It's not meant to be a stand alone application but the core library of the LIMS server.
For more information consult the documentation.
Installation
gem install lims-core
Or, if you are using bundler , add the following line
gem :lims-core, :git => "git+ssh://git@github.com/sanger/lims-core.git'
in your Gemfile
.
Documentation
The documentation is generated using yard and can
be found under the doc/
directory or using a yard server
Developers Guide
Gem requirements
Ideally each should be loadable on its own. This mean that every file should
require everything it needs. The exception is for gems re-opening ruby basic
classes as facet do. The common requirements are grouped in the lib/common.rb
file.
For the user convenience, requiring a directory should requires everything
underneath. However, requiring lims-core
will require Persistence
, but not
the subdirectories of it (specific to each different stores like Sequel
, or
Logger
). This to not force to install all the dependencies specific to each
store.
Documentation Guide
The documentation is written using yard. It allows to write documentation within the doc and add typing hints/ expectations. The recommended format for stand alone documentation files is markdown, however it's easier to keep the native markup language used by yard, i.e. the rdoc one. This allows the code to be parsed via rdoc and doesn't need the extra spaces at the end of a line needed by markdown.
However, when the usage of pure markdown seems appropriate, it's still
possible to the use @markup
switch.
Some documentation can also be added in the specs.
Tests
We are using rspec.