class Monadist::Monad
Public Instance Methods
fmap(&block)
click to toggle source
# File lib/monadist/monad.rb, line 13 def fmap(&block) bind { |value| self.class.unit block.call value } end
join()
click to toggle source
# File lib/monadist/monad.rb, line 4 def join bind do |value| raise "Wrapped value not a monad of type #{self.class.name}" unless value.instance_of? self.class value end end
method_missing(*args, &block)
click to toggle source
# File lib/monadist/monad.rb, line 19 def method_missing(*args, &block) fmap { |value| value.public_send *args, &block } end