Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Nov 24, 2014
  1. @jferris

    Bump to version 0.1.0

    jferris authored
    * Enumerable methods return Present, Blank
    * unwrap_or takes a block default
    * Obeys functor laws
    * Fix equality checks
    Not backwards-compatible.
  2. @jferris

    Enumerable methods return Present, Blank

    jferris authored
    Returns Present or Blank where useful:
    * collect (same behavior as fmap)
    * each (same behavior as present)
    * find_all (convert to Blank if the block doesn't match)
    * grep (convert to Blank if the pattern doesn't match)
    * map (same behavior as fmap)
    * reject (convert to Blank if the block matches)
    * select (convert to Blank if the block doesn't match)
    Allows chaining Enumerable methods to get a wrapped value as well as
    combining Enumerable methods with wrapped methods like `fmap`.
    Producing an Array for these methods is not useful, because it's
    unlikely that you'll want zero or more items (Array) in situations where
    you started with either zero or one (Blank/Present).
Commits on Nov 13, 2014
  1. @jferris

    Change unwrap_or to take a block default

    jferris authored
    * You can already modify the wrapped value using `fmap`
    * It's convenient to have blocks for lazy defaults
    * Useful for raising a specific exception for blanks
    * Breaks backwards compatibility
  2. @jferris

    Fix violation of functor laws

    jferris authored
    Because `nil` exists as a singleton in Ruby, we need to preserve it when
    yielded from `fmap` in order to obey the functor laws.
    This ensures that:
        1.wrapped.fmap { nil }.unwrap_or(1)
    Returns `nil` and not `1`.
Commits on Oct 30, 2014
  1. @tute @mike-burns

    Syntax highlighting in README

    tute authored mike-burns committed
  2. @mike-burns

    Update copyright with more precision

    mike-burns authored
    Mike Burns originally made this in 2011. It sat around for three years,
    working perfectly fine, until Joe Ferris took it up. Now it is an
    experimental thoughtbot tool, perhaps to someday go on to be a legend in
    suspenders. Future work will happen at thoughtbot, by Mike and
    certainly by others.
  3. @jferris @mike-burns

    Add experimental warning to README

    jferris authored mike-burns committed
    Let users know that this is experimental software.
  4. @jferris @mike-burns

    Update RSpec

    jferris authored mike-burns committed
    * Use RSpec 3.1.x
    * Use expect syntax
    * Avoid operator matchers
  5. @jferris @mike-burns

    Fix equality checks with unwrapped objects

    jferris authored mike-burns committed
    Previous behavior: unwrapped comparison would raise an exception.
    New behavior: unwrapped comparison returns false (unequal).
Commits on Oct 29, 2014
  1. @mike-burns

    Bump 0.0.3

    mike-burns authored
    While here, fix the README.
  2. @jferris @mike-burns

    Rename #try to #flat_map

    jferris authored mike-burns committed
    * #try already means something else in Ruby
    * #flat_map is a Rubyish name we can borrow from Scala
  3. @jferris @mike-burns

    Restrict gempsec to compatible RSpec versions

    jferris authored mike-burns committed
    After RSpec 3, `should` is not defined by default.
  4. @jferris @mike-burns

    Add binstubs for rspec, rake

    jferris authored mike-burns committed
    This allows us to avoid doing `bundle exec` for everything.
Commits on Oct 28, 2014
  1. @jferris

    Define wrapped on BasicObject

    jferris authored
    Necessary for delegators and proxies. Without this change, you get a wrapped
    instead of the delegator/proxy target instead.
Commits on Dec 14, 2011
  1. @jferris

    Bump to 0.0.2: wrapped equality.

    Joe Ferris and Mike Burns authored jferris committed
  2. @jferris


    Joe Ferris and Mike Burns authored jferris committed
  3. @jferris

    Ignore any personalized .rspec configurations.

    Joe Ferris and Mike Burns authored jferris committed
Commits on Jul 29, 2011
  1. @mike-burns
  2. @mike-burns

    Some inline documentation.

    mike-burns authored
  3. @mike-burns
  4. @mike-burns
  5. @mike-burns
  6. @mike-burns
  7. @mike-burns
  8. @mike-burns
Something went wrong with that request. Please try again.