module Roglew::DeferredContext

Public Instance Methods

deferred?() click to toggle source
# File lib/roglew/contexts/deferred.rb, line 3
def deferred?
  true
end
finished() click to toggle source
# File lib/roglew/contexts/deferred.rb, line 7
def finished
  return unless self.calls.empty?
  bind
  self.calls.each { |target, method, args| send(target).public_send(method, *args) }.clear
  unbind
  nil
end
immediate?() click to toggle source
# File lib/roglew/contexts/deferred.rb, line 15
def immediate?
  false
end

Private Instance Methods

calls() click to toggle source
# File lib/roglew/contexts/deferred.rb, line 20
def calls
  @calls ||= []
end
make_call(target, method, *args) click to toggle source
# File lib/roglew/contexts/deferred.rb, line 24
def make_call(target, method, *args)
  self.calls << [target, method, args]
end
run() { |self| ... } click to toggle source
# File lib/roglew/contexts/deferred.rb, line 28
def run
  return unless block_given?
  yield self
  finished
end