class AWS::Flow::Core::BeginRescueEnsureWrapper

Ensures that {BeginRescueEnsure} isn’t exposed directly. This function is passed in when {#error_handler} is called, like this:

error_handler do |t|
  t.begin { "This is the begin" }
  t.rescue(Exception) { "This is the rescue" }
  t.ensure { trace << t.begin_task }
end

In this example, t is a {BeginRescueEnsureWrapper} which passes the begin/rescue/ensure calls to the {BeginRescueEnsure} class itself.

@api private

Attributes

__context__[R]

Also has a few methods to ensure fiber-ness, such as get_heirs and cancel.

beginRescueEnsure[RW]

Public Class Methods

new(block, begin_rescue_ensure) click to toggle source

Creates a new ‘BeginRescueEnsureWrapper` instance.

@param block

*Required*. A code block to be called.

@param begin_rescue_ensure

The {BeginRescueEnsure} instance to wrap.

@api private

Calls superclass method
# File lib/aws/flow/begin_rescue_ensure.rb, line 332
def initialize(block, begin_rescue_ensure)
  @beginRescueEnsure = begin_rescue_ensure
  @__context__ = @beginRescueEnsure
  super() do
    begin
      block.call(self)
    ensure
      @__context__.parent.remove(self)
    end

  end
end

Public Instance Methods

begin(&block) click to toggle source

(see BeginRescueEnsure#begin)

# File lib/aws/flow/begin_rescue_ensure.rb, line 368
def begin(&block) @beginRescueEnsure.begin(block) end
cancel(error_type) click to toggle source

@api private

# File lib/aws/flow/begin_rescue_ensure.rb, line 352
def cancel(error_type)
  @beginRescueEnsure.parent.cancel(self)
end
ensure(&block) click to toggle source

(see BeginRescueEnsure#ensure)

# File lib/aws/flow/begin_rescue_ensure.rb, line 371
def ensure(&block) @beginRescueEnsure.ensure(block) end
get_closest_containing_scope() click to toggle source

Gets the parent of the {BeginRescueEnsure} instance held by this class. @api private

# File lib/aws/flow/begin_rescue_ensure.rb, line 363
def get_closest_containing_scope
  @beginRescueEnsure.parent
end
get_heirs() click to toggle source

@api private

# File lib/aws/flow/begin_rescue_ensure.rb, line 346
def get_heirs
  p "I am a BREWrapper"
  return
end
is_daemon?() click to toggle source

@api private

# File lib/aws/flow/begin_rescue_ensure.rb, line 357
def is_daemon?
  false
end
rescue(*error_types, &block) click to toggle source

(see BeginRescueEnsure#rescue)

# File lib/aws/flow/begin_rescue_ensure.rb, line 374
def rescue(*error_types, &block)
  @beginRescueEnsure.rescue(error_types, block)
end