Module: ExAequo::Base::Result::ClassMethods

Included in:
ExAequo::Base::Result
Defined in:
lib/ex_aequo/base/result/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#from_value(value, error: nil) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/ex_aequo/base/result/class_methods.rb', line 7

def from_value(value, error: nil)
  if value
    ok(value)
  else
    nok(error)
  end
end

#newObject

Raises:

  • (NoMethodError)


15
# File 'lib/ex_aequo/base/result/class_methods.rb', line 15

def new(*, **) = raise NoMethodError, "undefined method 'new' for #<Class:Result>"

#nok(error) ⇒ Object Also known as: failure



17
18
19
20
21
22
23
24
# File 'lib/ex_aequo/base/result/class_methods.rb', line 17

def nok(error)
  allocate.tap do |object|
    object.instance_eval do
      @ok = false
      @error = error
    end
  end
end

#ok(result) ⇒ Object Also known as: success



28
29
30
31
32
33
34
35
# File 'lib/ex_aequo/base/result/class_methods.rb', line 28

def ok(result)
  allocate.tap do |object|
    object.instance_eval do
      @ok = true
      @result = result
    end
  end
end