Class: Just

Inherits:
BasicObject
Includes:
Maybe
Defined in:
lib/mayhaps.rb

Instance Method Summary collapse

Methods included from Maybe

#maybe

Constructor Details

#initialize(obj) ⇒ Just

Returns a new instance of Just.



22
23
24
25
26
27
28
# File 'lib/mayhaps.rb', line 22

def initialize(obj)
  if ::Maybe === obj || !obj.nil?
    @value = obj
  else
    ::Kernel.raise ::ArgumentError, 'object is nil'
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args, &block) ⇒ Object



34
35
36
# File 'lib/mayhaps.rb', line 34

def method_missing(*args, &block)
  @value.public_send(*args, &block).maybe
end

Instance Method Details

#+@Object



30
31
32
# File 'lib/mayhaps.rb', line 30

def +@
  @value
end

#inspectObject



38
39
40
# File 'lib/mayhaps.rb', line 38

def inspect
  "#<Just #{@value.inspect}>"
end