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 6
to be multiplied by seven.
Defi.send(:*, 7).to(6) # => 42
Now let's challenge "foo"
to respond to a boom method.
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-1.0.0.gem
c30380a253c932bbff42a36611466f2b7d59e6a1d9578a4989e7b2cfd4078cf9d64e452b0eaa055c5ab88be4816d3f366d7aa705d29bb54e2db9f75d21f36cf7 pkg/defi-1.0.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.
This project is sponsored by: