Scruin is an event auditing system for Ruby on Rails and PostgreSQL.

Readme Hero Image

Project status

Warning: Scruin is currently under heavy development and may not yet work as advertised. Use at your own risk.

Gem Version Build Status Coverage Status Code Climate Inline docs Security

Requirements

  • Rails 4.2+
  • Ruby 2.1+
  • PostgreSQL 9.2+

Installation

Add the scruin gem to your Rails application's Gemfile with:

gem 'scruin', github: 'tonyhburns/scruin', branch: 'master'

Configuration

TODO: Write configuration instructions here.

Usage

TODO: Write usage instructions here.

Documentation

See the YARD documentation for the latest API documentation.

Generate local documentation with YARD (output to the doc directory):

$ bin/rake yard

Support

Security

Installation

Scruin is cryptographically signed. To be sure the gem you install hasn't been tampered with, verify the checksum of the signing certificate and add it (if you haven't already) as a trusted certificate:

$ sha256 <(curl -Ls https://raw.github.com/tonyhburns/scruin/master/tonyhburns.pem)
$ gem cert --add <(curl -Ls https://raw.github.com/tonyhburns/scruin/master/tonyhburns.pem)

The SHA256 checksum of the signing certificate should be:

aa8afd7b84097d2976a57c5a8e6e5964e0377e4ebb08d5e3ada361b8d36313d0

Installing the gem with the MediumSecurity trust profile will verify all signed gems, but allow the installation of unsigned dependencies:

$ gem install scruin -P MediumSecurity

You can also set the trust file for Bundler:

$ bundle --trust-policy MediumSecurity

Using the MediumSecurity policy is often necessary because not all of your dependencies may not be signed, so HighSecurity is not an option.

Reporting security bugs

If you have discovered an issue with Scruin of a sensitive nature that could compromise the security of Scruin users, please disclose it responsibly by following the steps in SECURITY.md.

Development and testing

Scruin follows the Ruby Style Guide for style conventions, with a few exceptions. See .rubocop.yml for details.

Run linters (RuboCop and Inch):

$ bin/rake lint

Run tests:

$ bin/rake spec

Contributing

See CONTRIBUTING.md for full information on how to contribute to Scruin.

License

© 2015 Tony Burns

Distributed under the MIT License. See LICENSE.txt for details.

The Scruin logo is licensed under CC BY-SA 4.0.