Class: Gracefully::Unresolved

Inherits:
Object
  • Object
show all
Defined in:
lib/gracefully/try.rb

Instance Method Summary collapse

Constructor Details

#initialize(&block) ⇒ Unresolved

Returns a new instance of Unresolved.



9
10
11
# File 'lib/gracefully/try.rb', line 9

def initialize(&block)
  @block = block
end

Instance Method Details

#getObject



25
26
27
# File 'lib/gracefully/try.rb', line 25

def get
  resolve.get
end

#or_else(other) ⇒ Object



21
22
23
# File 'lib/gracefully/try.rb', line 21

def or_else(other)
  resolve.or_else other
end

#resolveObject



13
14
15
16
17
18
19
# File 'lib/gracefully/try.rb', line 13

def resolve
  @resolved = begin
    Success.with @block.call
  rescue => e
    Failure.with Error.new('Nested error', nested: e)
  end
end