Easy Monads - Monads for Ruby, with Option
EasyMonads::Monadic
Created to provide an easy implementation of monads for Ruby. Monads are practical and easy to grok (or at least they should be). Here is an excellent tutorial that explains some of the benefits of monads: monads-are-not-metaphors.
EasyMonads::Option
Inspiration for easy_monads largely comes from Scala's Option, and Option is implemented here. The goal of EasyMonad::Option isn't to mirror Scala's implementation, but it tries to follow the general pattern. If you are a Scala fan and are looking for Scala semantics in Ruby applications, you should have a look at rumonade in addition to easy_monads. If you are just looking for an implentation of Option for Ruby, EasyMonads::Option is an easy choice.
To add Option to the Object class:
require 'easy_monads'
EasyMonads.option_everywhere!
Credits
Easy Monads is maintained by Stephen Sloan and is funded by BookRenter.com. We are experimenting with monads at BookRenter and hope that you find this useful.
Copyright
Copyright (c) 2011 Stephen Sloan, Bookrenter.com. See LICENSE.txt for further details.