Introducing Affect - a new gem implementing algebraic effects in Ruby
Affect is a tiny Ruby gem providing a way to isolate and handle side-effects in your Ruby programs. It can make it easier to test your code, and provide a cleaner separation between your program logic and external entities such as I/O, databases, files etc. Affect is also useful for implementing dependency injection. Go read the docs.