Sha256: 3a64a1d919f714442c3400273a0c68534f53c70c186fe8f9a9164538f31934ad
Contents?: true
Size: 911 Bytes
Versions: 1
Compression:
Stored size: 911 Bytes
Contents
require_relative 'maybe/base' require_relative 'maybe/just' require_relative 'maybe/nothing' require_relative 'maybe/list' module Monad module Maybe module Enumerable def to_maybe first.maybe end def maybe_map List.new(map{ |x| yield(x) }) end end class ::Array; include Enumerable end class ::Range; include Enumerable end class ::Object def maybe Just.new(self) end def maybe? false end def just? false end def nothing? false end end class ::NilClass def maybe Nothing.instance.freeze end end def maybe(o) o.maybe end def just(o) Just.new(o) end def nothing Nothing.instance end end end include Monad::Maybe
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
monad-maybe-0.8.0 | lib/monad/maybe.rb |