Rake Bump

Status

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.