Rake Bump
Perfume is a set of fragrances to make your (micro)services code smell nice. It's bunch of common practices and shorthands to deal with common problems. At the moment it includes the following stuff:
- So called
SuperObject
- a lightweight hash-initialized struct-like object. - So called
Service
- a callable object that's designed to implement your business processes. - So called
Promise
- extended Service with ignorable errors. - Unified and pre-configured logging.
- Shell services.
- Console interaction service.
- Exit (abort) service.
- Various core extensions.
- Testing utilities.
Installation
Add this line to your application's Gemfile:
gem 'perfume', '0.3.1'
And then execute:
$ bundle
Or install it yourself as:
$ gem install perfume --version 0.3.1
Usage
TODO: ...
Development
You have two options to work with this project. The docker flow is suggested since solves problems of compatibility of tools.
Manual Setup
First off, make sure you have Ruby 2.2+ and latest version of Bundler on your machine. After checking out the repo, you can install dependencies and prepare the project with:
$ bin/setup
Now you can run tests:
$ bundle exec rake spec
You can also connect to interactive prompt that will allow you to experiment. To do this, run:
$ bundle exec bin/console
To install this gem onto your local machine, run:
$ bundle exec rake install
Setup with Docker
If you're lazy and don't wanna get into how the setup works, here's something for you. This project comes fully dockerized. Install docker toolchain and then go for:
$ docker-compose build
All done, you can do testing and fiddling around:
$ docker-compose run perfume bash
root@xyyyyxx:/usr/local/src/perfume# bundle exec rake spec
root@xyyyyxx:/usr/local/src/perfume# bundle exec bin/console
Releasing new version
This project is powered by rake-bump. To release gem version, follow this continuous releasing guide
Contributing
Bug reports and pull requests are welcome here.