scruin 0.0.0.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +1 -0
- data/.codeclimate.yml +8 -0
- data/.gitignore +9 -0
- data/.pryrc +18 -0
- data/.rspec +2 -0
- data/.rubocop.yml +24 -0
- data/.simplecov +16 -0
- data/.travis.yml +20 -0
- data/.yardopts +16 -0
- data/CHANGELOG.md +7 -0
- data/CODE_OF_CONDUCT.md +32 -0
- data/CONTRIBUTING.md +136 -0
- data/Gemfile +49 -0
- data/LICENSE.txt +21 -0
- data/README.md +135 -0
- data/Rakefile +27 -0
- data/SECURITY.md +141 -0
- data/app/controllers/scruin/controller.rb +5 -0
- data/app/helpers/scruin/.keep +0 -0
- data/app/views/layouts/.keep +0 -0
- data/app/views/scruin/.keep +0 -0
- data/docs/images/logo.ai +1849 -7
- data/docs/images/readme-hero.png +0 -0
- data/lib/generators/scruin/.keep +0 -0
- data/lib/scruin.rb +8 -0
- data/lib/scruin/errors.rb +4 -0
- data/lib/scruin/rails.rb +7 -0
- data/lib/scruin/rails/engine.rb +9 -0
- data/lib/scruin/version.rb +11 -0
- data/scruin.gemspec +34 -0
- data/tonyhburns.asc +445 -0
- data/tonyhburns.pem +21 -0
- metadata +196 -0
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: e13ef9ffffa62b3cb92e75a2eb95858801bb5043
|
|
4
|
+
data.tar.gz: 09d3dfecc285e6f2f845d5437e3409fcb804d4e6
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: bb1c8dbcff844d713661a5f93dfc034f206dd3e8be35f2c494bf14e7ec9d8fc9fd82d80c904c4895a10e3ec85258abc52d9fca9a63a4eaa0b8b9051266d3e2a7
|
|
7
|
+
data.tar.gz: b6d9b490534d991967f6660ba1a26e75df965888acaf966b3a9f38b1ee93df3a619f4f6ab1077aa943a9042c5b982e27618c52b13bed91d8f43a3238da4a2c1b
|
checksums.yaml.gz.sig
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
t8HZJke"���P�}D����`�{I��դ��?��梕k����[p:V8��m��5����Ƈ��>�F.�1d,"Ld��5�g��T���t"��s]E� �f{%�NA̜���QZ¸eN�K��
|
data.tar.gz.sig
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
,`�����0V��/��O��b�7( �KQڕ��=�I�$�a�������4�$��9��BFSu�ġ�t���f���z_ZF��Ҏ�W�{y�9.�kɽ�'�<Z:�.x��E�?[��h�mOQ_�L�y>�`��I$hu�h�s�Ӈ��hÝ�S�S�6��ϼJ���h<3)2�^���ax|�G3 �S�(.m��p�-��%ya�M�$�^������n���%�%+�Tff�M�����D`
|
data/.codeclimate.yml
ADDED
data/.gitignore
ADDED
data/.pryrc
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
ENV['RAILS_ENV'] ||= 'development'
|
|
2
|
+
require File.expand_path('../test_app/config/environment', __FILE__)
|
|
3
|
+
|
|
4
|
+
begin
|
|
5
|
+
require 'factory_girl_rails'
|
|
6
|
+
require 'ffaker'
|
|
7
|
+
|
|
8
|
+
extend FactoryGirl::Syntax::Methods
|
|
9
|
+
rescue LoadError
|
|
10
|
+
puts 'FactoryGirl and/or Faker are not available.'
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
require 'colorize'
|
|
14
|
+
|
|
15
|
+
Pry.config.prompt_name = begin
|
|
16
|
+
environment_name = "[#{ENV['RAILS_ENV']}]".colorize(:light_blue).bold
|
|
17
|
+
"#{'Scruin Test App'.bold} #{environment_name} $ "
|
|
18
|
+
end
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
AllCops:
|
|
3
|
+
Include:
|
|
4
|
+
- bin/*
|
|
5
|
+
- exe/*
|
|
6
|
+
- '**/.simplecov'
|
|
7
|
+
- '**/Gemfile'
|
|
8
|
+
- '**/Rakefile'
|
|
9
|
+
- '**/*.gemspec'
|
|
10
|
+
Exclude:
|
|
11
|
+
- bin/ci
|
|
12
|
+
- vendor/**/*
|
|
13
|
+
- '**/db/migrate/*.rb'
|
|
14
|
+
- '**/schema.rb'
|
|
15
|
+
|
|
16
|
+
Metrics/LineLength:
|
|
17
|
+
Max: 140
|
|
18
|
+
|
|
19
|
+
Style/Documentation:
|
|
20
|
+
Enabled: false
|
|
21
|
+
|
|
22
|
+
Style/FileName:
|
|
23
|
+
Exclude:
|
|
24
|
+
- !ruby/regexp /[A-Z](\w+)file\z/
|
data/.simplecov
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# -*- mode: ruby -*-
|
|
2
|
+
# vi: set ft=ruby :
|
|
3
|
+
|
|
4
|
+
require 'coveralls'
|
|
5
|
+
require 'simplecov-console'
|
|
6
|
+
|
|
7
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
|
8
|
+
Coveralls::SimpleCov::Formatter,
|
|
9
|
+
SimpleCov::Formatter::Console,
|
|
10
|
+
SimpleCov::Formatter::HTMLFormatter
|
|
11
|
+
]
|
|
12
|
+
SimpleCov.start 'rails' do
|
|
13
|
+
add_filter 'spec'
|
|
14
|
+
add_filter 'test_app'
|
|
15
|
+
add_filter 'vendor'
|
|
16
|
+
end
|
data/.travis.yml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
sudo: false
|
|
3
|
+
branches:
|
|
4
|
+
only:
|
|
5
|
+
- master
|
|
6
|
+
addons:
|
|
7
|
+
postgresql: 9.3
|
|
8
|
+
cache: bundler
|
|
9
|
+
language: ruby
|
|
10
|
+
rvm:
|
|
11
|
+
- 2.1
|
|
12
|
+
- 2.2
|
|
13
|
+
before_install:
|
|
14
|
+
- gem install bundler
|
|
15
|
+
bundler_args: --without docs debugger --quiet --jobs 3 --retry 3
|
|
16
|
+
script: bin/ci
|
|
17
|
+
notifications:
|
|
18
|
+
webhooks:
|
|
19
|
+
urls:
|
|
20
|
+
- secure: "gLgLyC7G8FpPFdaKYjGgWGcTvCORHDKTEwZ4/7oujsDDjLRqsrD0aqg7Z5hl3mJeGat5LtV35yx0ukhldakm94W7tZ8/BUH1ngP37cXaA9cQ6VEQnY0uIJ6zts1ux4BTlI8oiLvimD2gnRrIwb7FtP4m/pJJnwoboqJ8eQa53rqlaN6s85KRSVQTrjuhgY74H+nX8AD960cxGMMuUIibInvEyHnBoTQcn1WeNjE7qjza5I0M1XF2IKTvXC35kLl02p7iOv+x6afdamjoUkN1w+uwZB1tZCXjXRlhaQ+X8sFv8yIWiSHO6ZhK1Wjq6dAZ4c10Ur5GBm8Dq0+Cgo1su045MBclwobnSPuBknZYDQBfm4PS90pZ1KezOvE0cRdD3yQInL8u+ILwPw9yyH7ZvU55bW7S48YIYdiZomic9vJAvqP44Ad9+6Fj3CuzGgC4OVXwergJTLFOwB2btFQ1tX5GUpQG+RCmqdbj68pOQXrk/WgYbFbVhUaD7+rSxdnyv6o83DlRXJ3ftRw+TSwXJkY9REdJETmgtiCOwOErFNzFsiq6Wx4f2xs0+79Rxk26cBTUBYUvV6bvluzT5PQOrPd8cTGlXLn34J1J0UtATK1NVw6qaGxWvfXSY7FOKxgFpLV9/SDSu1oh2bXNlia3/jw56zAUWcf/Z5DKd+fBAQM="
|
data/.yardopts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
--charset utf-8
|
|
2
|
+
--embed-mixin ClassMethods
|
|
3
|
+
--markup-provider redcarpet
|
|
4
|
+
--markup markdown
|
|
5
|
+
--no-private
|
|
6
|
+
--quiet
|
|
7
|
+
--protected
|
|
8
|
+
--readme README.md
|
|
9
|
+
--asset docs/images:images
|
|
10
|
+
lib/**/*.rb
|
|
11
|
+
-
|
|
12
|
+
CHANGELOG.md
|
|
13
|
+
CODE_OF_CONDUCT.md
|
|
14
|
+
CONTRIBUTING.md
|
|
15
|
+
LICENSE.txt
|
|
16
|
+
SECURITY.md
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Scruin Change History
|
|
2
|
+
|
|
3
|
+
## [v0.0.0.pre](https://github.com/tonyhburns/scruin/releases/tag/v0.0.0.pre) (2015-05-10)
|
|
4
|
+
|
|
5
|
+
[Full commit history](https://github.com/tonyhburns/scruin/commits/v0.0.0.pre)
|
|
6
|
+
|
|
7
|
+
* Initial pre-release to verify release automation and push to RubyGems
|
data/CODE_OF_CONDUCT.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Scruin Contributor Code of Conduct
|
|
2
|
+
|
|
3
|
+
As contributors and maintainers of this project, we pledge to respect all people
|
|
4
|
+
who contribute through reporting issues, posting feature requests, updating
|
|
5
|
+
documentation, submitting pull requests or patches, and other activities.
|
|
6
|
+
|
|
7
|
+
We are committed to making participation in this project a harassment-free
|
|
8
|
+
experience for everyone, regardless of level of experience, gender, gender
|
|
9
|
+
identity and expression, sexual orientation, disability, personal appearance,
|
|
10
|
+
body size, race, age, or religion.
|
|
11
|
+
|
|
12
|
+
Examples of unacceptable behavior by participants include the use of sexual
|
|
13
|
+
language or imagery, derogatory comments or personal attacks, trolling, public
|
|
14
|
+
or private harassment, insults, or other unprofessional conduct.
|
|
15
|
+
|
|
16
|
+
Project maintainers have the right and responsibility to remove, edit, or reject
|
|
17
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
18
|
+
not aligned to this Code of Conduct. Project maintainers who do not follow the
|
|
19
|
+
Code of Conduct may be removed from the project team.
|
|
20
|
+
|
|
21
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
22
|
+
reported by opening an issue or contacting one or more of the project
|
|
23
|
+
maintainers.
|
|
24
|
+
|
|
25
|
+
This Code of Conduct is adapted from the [Contributor
|
|
26
|
+
Covenant](http:contributor-covenant.org), version 1.0.0, available at
|
|
27
|
+
[http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/).
|
|
28
|
+
|
|
29
|
+
## Comments on this policy
|
|
30
|
+
|
|
31
|
+
If you have any suggestions to improve this policy, please [open an issue on
|
|
32
|
+
GitHub](https://github.com/tonyhburns/scruin/issues).
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Scruin Contributor Guide
|
|
2
|
+
|
|
3
|
+
Thank you for interest in contributing to scruin!
|
|
4
|
+
|
|
5
|
+
One of the goals of Scruin is to make it easy for the community to
|
|
6
|
+
contribute changes. To that end, here are detailed guidelines on how to
|
|
7
|
+
contribute to scruin.
|
|
8
|
+
|
|
9
|
+
Scruin uses GitHub issues for discussion, issues, and contributions. There are
|
|
10
|
+
two main ways to contribute to scruin:
|
|
11
|
+
|
|
12
|
+
* Report an issue or make a feature request at scruin's [issue
|
|
13
|
+
tracker](https://github.com/tonyhburns/scruin/issues)
|
|
14
|
+
* Contribute features and fix bugs yourself by contributing code to scruin
|
|
15
|
+
(see below).
|
|
16
|
+
|
|
17
|
+
## Getting help
|
|
18
|
+
|
|
19
|
+
A number of support channels are available for getting help with scruin:
|
|
20
|
+
|
|
21
|
+
* Ask your question on [Gitter](https://gitter.im/tonyhburns/scruin) or
|
|
22
|
+
#scruin in IRC on Freenode
|
|
23
|
+
* Join the [project mailing
|
|
24
|
+
list](https://groups.google.com/forum/#!groupsettings/scruin/information)
|
|
25
|
+
* Tweet or send a direct message to
|
|
26
|
+
[@scruingem](https://twitter.com/scruingem)
|
|
27
|
+
|
|
28
|
+
## Issues
|
|
29
|
+
|
|
30
|
+
Issue tracking for Scruin happens on GitHub Issues. If you've found a bug or
|
|
31
|
+
have a feature that you'd like to see implemented, please report it on the issue
|
|
32
|
+
tracker. Discussion-only issues are also welcome.
|
|
33
|
+
|
|
34
|
+
### Bug reports
|
|
35
|
+
|
|
36
|
+
To minimize the time spent by maintainers in diagnosing and fixing bugs, please
|
|
37
|
+
use the following template when filing a bug report:
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
### Version
|
|
41
|
+
|
|
42
|
+
[Version of the scruin gem installed, or commit SHA if installed from Git]
|
|
43
|
+
|
|
44
|
+
### Environment
|
|
45
|
+
|
|
46
|
+
Operating system: [Your operating system and version, (e.g. Mac OS X 10.9)
|
|
47
|
+
Ruby version: [Version of Ruby installed (run `ruby --version`)
|
|
48
|
+
Rails version: [Version of Ruby on Rails installed (run `bundle show rails`)
|
|
49
|
+
|
|
50
|
+
[Include any other information about your environment that might be helpful]
|
|
51
|
+
|
|
52
|
+
### Scenario
|
|
53
|
+
|
|
54
|
+
[What are you attempting to do that isn't working?]
|
|
55
|
+
|
|
56
|
+
### Steps to reproduce
|
|
57
|
+
|
|
58
|
+
[What are the things we need to do in order to reproduce the problem?]
|
|
59
|
+
|
|
60
|
+
### Expected result:
|
|
61
|
+
|
|
62
|
+
[What are you expecting to happen when the above steps to reproduce are
|
|
63
|
+
performed?]
|
|
64
|
+
|
|
65
|
+
### Actual result:
|
|
66
|
+
|
|
67
|
+
[What actually happens when the above steps to reproduce are performed?]
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Security issues
|
|
71
|
+
|
|
72
|
+
Please see
|
|
73
|
+
[SECURITY.md](https://github.com/tonyhburns/scruin/blob/master/SECURITY.md)
|
|
74
|
+
for Scruin's security policy and steps for responsible disclosure of security
|
|
75
|
+
bugs.
|
|
76
|
+
|
|
77
|
+
### Discussions
|
|
78
|
+
|
|
79
|
+
Issues to discuss the architecture, design, and functionality of Scruin are
|
|
80
|
+
welcome on the issue tracker, and this is where these types of discussions are
|
|
81
|
+
preferred so that we can track them and associate them with issues if necessary.
|
|
82
|
+
|
|
83
|
+
If you have a question about how to use Scruin, we ask that you use the
|
|
84
|
+
project mailing list, Gitter channel, or IRC channel.
|
|
85
|
+
|
|
86
|
+
## Pull requests
|
|
87
|
+
|
|
88
|
+
### Getting started
|
|
89
|
+
|
|
90
|
+
* [Fork](https://github.com/tonyhburns/scruin/fork) the repository on
|
|
91
|
+
GitHub.
|
|
92
|
+
* Set up your development environment:
|
|
93
|
+
|
|
94
|
+
```console
|
|
95
|
+
$ bin/setup
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Making changes
|
|
99
|
+
|
|
100
|
+
* Create a topic branch for your work.
|
|
101
|
+
- Prefer to target `master` for new topic branches (`git checkout -b
|
|
102
|
+
feature/my-new-feature master`).
|
|
103
|
+
- Only target release branches (e.g. `X-0-0`) if your change *must* be for
|
|
104
|
+
that release.
|
|
105
|
+
- Avoid working directly on the `master` branch.
|
|
106
|
+
* Make atomic commits of logical units. Check to make sure your changes adhere
|
|
107
|
+
* to the project style guide and linter
|
|
108
|
+
configuration with `bin/rake lint`.
|
|
109
|
+
* Write unit and integration tests as necessary for your changes. **Pull
|
|
110
|
+
requests will not be accepted for non-trivial changes without tests.**
|
|
111
|
+
* Ensure that the entire test suite passes with `bin/rake spec`. Create a pull
|
|
112
|
+
request on GitHub for your contribution.
|
|
113
|
+
* Check [Travis CI](https://travis-ci.org/tonyhburns/scruin/pull_requests)
|
|
114
|
+
for your pull request. **Only green pull requests will be merged.**
|
|
115
|
+
|
|
116
|
+
### Trivial changes
|
|
117
|
+
|
|
118
|
+
Certain types of changes do not need to undergo the same process as changes
|
|
119
|
+
involving the functionality of Scruin (e.g. running tests and static analysis
|
|
120
|
+
tools). These types of changes include:
|
|
121
|
+
|
|
122
|
+
* Changes to "root documentation" like `README.md`, `CHANGELOG.md`, documents in
|
|
123
|
+
the `docs` directory, and this document
|
|
124
|
+
* Changes to build scripts, and other development configuration files
|
|
125
|
+
* Comment cleanup
|
|
126
|
+
* Formatting cleanup
|
|
127
|
+
* Spelling/grammar fixes
|
|
128
|
+
* Typo corrections
|
|
129
|
+
|
|
130
|
+
Trivial changes **do** need to pass the Ruby linter (`bin/rake lint:ruby`) if
|
|
131
|
+
they make changes to any Ruby code.
|
|
132
|
+
|
|
133
|
+
## Comments on these guidelines
|
|
134
|
+
|
|
135
|
+
If you have any suggestions to improve these guidelines, please [open an issue
|
|
136
|
+
on GitHub](https://github.com/tonyhburns/scruin/issues).
|
data/Gemfile
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
gemspec
|
|
4
|
+
|
|
5
|
+
gem 'bootstrap-sass', '~> 3.3'
|
|
6
|
+
gem 'font-awesome-sass', '~> 4.3'
|
|
7
|
+
gem 'jquery-rails', '~> 4.0'
|
|
8
|
+
gem 'puma', '~> 2.11', require: false
|
|
9
|
+
gem 'rails', '~> 4.2'
|
|
10
|
+
gem 'sass-rails', '~> 5.0'
|
|
11
|
+
|
|
12
|
+
group :development do
|
|
13
|
+
gem 'quiet_assets', '~> 1.1'
|
|
14
|
+
gem 'spring', '~> 1.3', require: false
|
|
15
|
+
gem 'spring-commands-rspec', '~> 1.0', require: false
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
group :test do
|
|
19
|
+
gem 'coveralls', '~> 0.8', require: false
|
|
20
|
+
gem 'database_cleaner', '~> 1.4', require: false
|
|
21
|
+
gem 'ffaker', '~> 2.0', require: false
|
|
22
|
+
gem 'factory_girl_rails', '~> 4.5', require: false
|
|
23
|
+
gem 'json_spec', '~> 1.1', require: false
|
|
24
|
+
gem 'rspec-rails', '~> 3.2', require: false
|
|
25
|
+
gem 'simplecov', '~> 0.10', require: false
|
|
26
|
+
gem 'simplecov-console', '~> 0.2', require: false
|
|
27
|
+
gem 'terminal-table', '~> 1.4', require: false
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
group :development, :test do
|
|
31
|
+
gem 'bullet', '~> 4.14'
|
|
32
|
+
gem 'colorize', '~> 0.7'
|
|
33
|
+
gem 'pry-rails', '~> 0.3'
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
group :debugger do
|
|
37
|
+
gem 'pry-byebug', '~> 3.1'
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
group :docs do
|
|
41
|
+
gem 'github-markdown', '~> 0.6'
|
|
42
|
+
gem 'redcarpet', '~> 3.2'
|
|
43
|
+
gem 'yard', '~> 0.8'
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
group :lint do
|
|
47
|
+
gem 'inch', '~> 0.6', require: false
|
|
48
|
+
gem 'rubocop', '~> 0.31', require: false
|
|
49
|
+
end
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2015 Tony Burns
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
Scruin is an event auditing system for [Ruby on Rails](http://rubyonrails.org/)
|
|
2
|
+
and [PostgreSQL](http://www.postgresql.org/).
|
|
3
|
+
|
|
4
|
+

|
|
5
|
+
|
|
6
|
+
## Project status
|
|
7
|
+
|
|
8
|
+
**Warning: Scruin is currently under heavy development and may not yet work as
|
|
9
|
+
advertised. Use at your own risk.**
|
|
10
|
+
|
|
11
|
+
[](https://rubygems.org/gems/scruin)
|
|
12
|
+
[](https://travis-ci.org/tonyhburns/scruin)
|
|
13
|
+
[](https://coveralls.io/r/tonyhburns/scruin)
|
|
14
|
+
[](https://codeclimate.com/github/tonyhburns/scruin)
|
|
15
|
+
[](http://inch-ci.org/github/tonyhburns/scruin)
|
|
16
|
+
[](https://hakiri.io/github/tonyhburns/scruin/master)
|
|
17
|
+
|
|
18
|
+
## Requirements
|
|
19
|
+
|
|
20
|
+
* Rails 4.2+
|
|
21
|
+
* Ruby 2.1+
|
|
22
|
+
* PostgreSQL 9.2+
|
|
23
|
+
|
|
24
|
+
## Installation
|
|
25
|
+
|
|
26
|
+
Add the scruin gem to your Rails application's `Gemfile` with:
|
|
27
|
+
|
|
28
|
+
```ruby
|
|
29
|
+
gem 'scruin', github: 'tonyhburns/scruin', branch: 'master'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Configuration
|
|
33
|
+
|
|
34
|
+
TODO: Write configuration instructions here.
|
|
35
|
+
|
|
36
|
+
## Usage
|
|
37
|
+
|
|
38
|
+
TODO: Write usage instructions here.
|
|
39
|
+
|
|
40
|
+
## Documentation
|
|
41
|
+
|
|
42
|
+
See the [YARD documentation](http://rdoc.info/github/tonyhburns/scruin) for
|
|
43
|
+
the latest API documentation.
|
|
44
|
+
|
|
45
|
+
Generate local documentation with YARD (output to the `doc` directory):
|
|
46
|
+
|
|
47
|
+
```console
|
|
48
|
+
$ bin/rake yard
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Support
|
|
52
|
+
|
|
53
|
+
* [](https://gitter.im/tonyhburns/scruin)
|
|
54
|
+
* IRC: #scruin on Freenode [GitHub
|
|
55
|
+
* Issues](https://github.com/tonyhburns/scruin/issues) Mailing list:
|
|
56
|
+
* [Scruin on Google
|
|
57
|
+
Groups](https://groups.google.com/forum/#!forum/scruin)
|
|
58
|
+
* Twitter: [@scruingem](https://twitter.com/scruingem)
|
|
59
|
+
|
|
60
|
+
## Security
|
|
61
|
+
|
|
62
|
+
### Installation
|
|
63
|
+
|
|
64
|
+
Scruin is cryptographically signed. To be sure the gem you install hasn't been
|
|
65
|
+
tampered with, verify the checksum of the signing certificate and add it (if you
|
|
66
|
+
haven't already) as a trusted certificate:
|
|
67
|
+
|
|
68
|
+
```console
|
|
69
|
+
$ sha256 <(curl -Ls https://raw.github.com/tonyhburns/scruin/master/tonyhburns.pem)
|
|
70
|
+
$ gem cert --add <(curl -Ls https://raw.github.com/tonyhburns/scruin/master/tonyhburns.pem)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The SHA256 checksum of the signing certificate should be:
|
|
74
|
+
|
|
75
|
+
aa8afd7b84097d2976a57c5a8e6e5964e0377e4ebb08d5e3ada361b8d36313d0
|
|
76
|
+
|
|
77
|
+
Installing the gem with the `MediumSecurity` trust profile will verify all signed
|
|
78
|
+
gems, but allow the installation of unsigned dependencies:
|
|
79
|
+
|
|
80
|
+
```console
|
|
81
|
+
$ gem install scruin -P MediumSecurity
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
You can also set the trust file for Bundler:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
$ bundle --trust-policy MediumSecurity
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Using the `MediumSecurity` policy is often necessary because not all of your
|
|
91
|
+
dependencies may not be signed, so `HighSecurity` is not an option.
|
|
92
|
+
|
|
93
|
+
### Reporting security bugs
|
|
94
|
+
|
|
95
|
+
If you have discovered an issue with Scruin of a sensitive nature that could
|
|
96
|
+
compromise the security of Scruin users, please disclose it responsibly by
|
|
97
|
+
following the steps in
|
|
98
|
+
[SECURITY.md](https://github.com/tonyhburns/scruin/blob/master/SECURITY.md).
|
|
99
|
+
|
|
100
|
+
## Development and testing
|
|
101
|
+
|
|
102
|
+
Scruin follows the [Ruby Style
|
|
103
|
+
Guide](https://github.com/bbatsov/ruby-style-guide) for style conventions, with
|
|
104
|
+
a few exceptions. See
|
|
105
|
+
[.rubocop.yml](https://github.com/tonyhburns/scruin/blob/master/.rubocop.yml)
|
|
106
|
+
for details.
|
|
107
|
+
|
|
108
|
+
Run linters ([RuboCop](https://github.com/bbatsov/rubocop) and
|
|
109
|
+
[Inch](https://github.com/rrrene/inch)):
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
$ bin/rake lint
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Run tests:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
$ bin/rake spec
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Contributing
|
|
122
|
+
|
|
123
|
+
See
|
|
124
|
+
[CONTRIBUTING.md](https://github.com/tonyhburns/scruin/blob/master/CONTRIBUTING.md)
|
|
125
|
+
for full information on how to contribute to Scruin.
|
|
126
|
+
|
|
127
|
+
## License
|
|
128
|
+
|
|
129
|
+
© 2015 Tony Burns
|
|
130
|
+
|
|
131
|
+
Distributed under the MIT License. See `LICENSE.txt` for details.
|
|
132
|
+
|
|
133
|
+
The Scruin logo is licensed under [CC BY-SA 4.0][cc-by-sa].
|
|
134
|
+
|
|
135
|
+
[cc-by-sa]: https://creativecommons.org/licenses/by-sa/4.0/
|