-
Issues should only be created for things that are definitely bugs. If you are not sure that the behavior is a bug, ask about it on Github Discussions or Discourse. Otherwise Github gets overwhelmed with issues and it is very difficult for the maintainers to manage.
-
If you are sure it is a bug, then post a complete description of the issue, the simplest possible self-contained example showing the problem (please do review the link), and the full backtrace of any exception.
-
Try to include tests for all new features and substantial bug fixes.
-
Try to include documentation for all new features. In most cases this should include RDoc method documentation, but updates to the README is also appropriate in some cases.
-
Follow the style conventions of the surrounding code. In most cases, this is standard ruby style.
-
The Design of Shrine guide gives a general overview of Shrine's core classes.
-
The Creating a New Plugin guide and the Plugin system of Sequel and Roda article explain how Shrine's plugin system works.
-
The Notes on study of shrine implementation article gives an in-depth walkthrough through the Shrine codebase.
The test suite requires that you have the following installed:
With Hombrew this would be:
$ brew install libmagic sqlite libvips
The test suite is best run using Rake:
$ rake test
Everyone interacting in the Shrine project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the Shrine code of conduct.