Defi
Challenge library.
Contact
- Home page: https://github.com/fixrb/defi
- Bugs/issues: https://github.com/fixrb/defi/issues
Rubies
Installation
Defi is cryptographically signed.
To be sure the gem you install hasn't been tampered with, add my public key (if you haven't already) as a trusted certificate:
$ gem cert --add <(curl -Ls https://raw.github.com/fixrb/defi/master/certs/gem-fixrb-public_cert.pem)
$ gem install defi -P HighSecurity
The HighSecurity trust profile will verify all gems. All of Defi's dependencies are signed.
Or add this line to your application's Gemfile:
gem 'defi'
And then execute:
$ bundle
Usage
Let's challenge -42 to return its absolute value.
Defi.send(:*, 7).to(6) # => 42
Now let's challenge 'foo' to return its absolute value.
Defi.send(:boom).to('foo') # NoMethodError: undefined method `boom' for "foo":String
Security
As a basic form of security Defi provides a set of SHA512 checksums for
every Gem release. These checksums can be found in the checksum/ directory.
Although these checksums do not prevent malicious users from tampering with a
built Gem they can be used for basic integrity verification purposes.
The checksum of a file can be checked using the sha512sum command. For
example:
$ sha512sum pkg/defi-0.1.0.gem
a1bf7c28d86ef4f412a9294b4fc40d613ffdb6bc3a0410144d927fa95ba718e1ce7ac20e21845e99860529ad91f231e6436c4730e2ee1f6a13519476be207545 pkg/defi-0.1.0.gem
Versioning
Defi follows Semantic Versioning 2.0.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
License
See LICENSE.md file.