class Fuby::Try::Base

Public Class Methods

new(object, maybe = nil) click to toggle source
# File lib/fuby/try.rb, line 37
def initialize object, maybe = nil
  @object = object
  @maybe  = maybe
  @class  = (class << self; self end).superclass
end

Public Instance Methods

__unwrap__() click to toggle source
# File lib/fuby/try.rb, line 48
def __unwrap__
  @object.nil? ? @maybe : @object
end
__wrap__(result) click to toggle source
# File lib/fuby/try.rb, line 52
def __wrap__ result
  @class.new result, @maybe
end
method_missing(key, *sig, &blk) click to toggle source
# File lib/fuby/try.rb, line 43
def method_missing key, *sig, &blk
  return __wrap__ @object.send key, *sig, &blk if @object.respond_to? key
  return __wrap__ nil
end