Skip to content

A simple Ruby decorator to make all methods of your object thread-safe

License

Notifications You must be signed in to change notification settings

yegor256/syncem

Repository files navigation

EO principles respected here DevOps By Rultor.com We recommend RubyMine

rake Gem Version Maintainability Yard Docs Hits-of-Code License

Read this blog post: SyncEm: Thread-Safe Decorators in Ruby.

Sometimes you have an object that is not thread-safe, but you need to make sure each of its methods is thread-safe, because they deal with some resources, like files or databases and you want them to manage those resources sequentially. This small gem will help you achieve exactly that without any re-design of the objects you already have. Just decorate them with SyncEm thread-safe decorator and that is it.

First, install it:

$ gem install syncem

Then, use it like this:

require 'syncem'
obj = SyncEm.new(obj)

That's it.

How to contribute

Read these guidelines. Make sure you build is green before you contribute your pull request. You will need to have Ruby 2.3+ and Bundler installed. Then:

$ bundle update
$ bundle exec rake

If it's clean and you don't see any error messages, submit your pull request.