class Monads::Optional

Attributes

value[R]

Public Class Methods

from_value(value) click to toggle source
# File lib/monads/optional.rb, line 27
def self.from_value(value)
  Optional.new(value)
end
new(value) click to toggle source
# File lib/monads/optional.rb, line 9
def initialize(value)
  @value = value
end

Public Instance Methods

and_then(&block) click to toggle source
# File lib/monads/optional.rb, line 13
def and_then(&block)
  block = ensure_monadic_result(&block)

  if value.nil?
    self
  else
    block.call(value)
  end
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/monads/optional.rb, line 23
def respond_to_missing?(method_name, include_private = false)
  super || value.nil? || value.respond_to?(method_name, include_private)
end