Module: Deferrable

Defined in:
lib/deferrable.rb

Instance Method Summary collapse

Instance Method Details

#clear_deferredObject



20
21
22
# File 'lib/deferrable.rb', line 20

def clear_deferred
  deferred_blocks.clear
end

#complete_deferredObject



15
16
17
18
# File 'lib/deferrable.rb', line 15

def complete_deferred
  deferred_blocks.each {|block| block.call}
  clear_deferred
end

#deferred(enabled = true, &block) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/deferrable.rb', line 2

def deferred(enabled = true, &block)
  if enabled
    deferred_blocks << block
  else
    block.call()
  end
end

#now_and_later(&block) ⇒ Object



10
11
12
13
# File 'lib/deferrable.rb', line 10

def now_and_later(&block)
  deferred(false, &block)
  deferred(true, &block)
end