class Deferral::StackFrame

Attributes

id[R]
type[R]

Public Class Methods

new(type) click to toggle source
# File lib/deferral/stack_frame.rb, line 7
def initialize(type)
  @type = type
  @releases = []
end

Public Instance Methods

add(release) click to toggle source
# File lib/deferral/stack_frame.rb, line 16
def add(release)
  @releases << Deferred.new(release)
end
release!() click to toggle source
# File lib/deferral/stack_frame.rb, line 20
def release!
  return if @releases.empty?
  @releases.reverse.each do |d|
    d.call
  end
  nil
end
root?() click to toggle source
# File lib/deferral/stack_frame.rb, line 12
def root?
  @type == :root
end