Module: Delayed::InstanceMethods

Defined in:
lib/mixins/delayed.rb

Instance Method Summary collapse

Instance Method Details

#delayed_action(&block) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/mixins/delayed.rb', line 52

def delayed_action(&block)
  if loaded
    self.class.delayed_calls[block.object_id] ||= block.call
  else
    self.class.delayed_calls[block.object_id] = DelayedProc.new(self, &block) if block
  end
end

#loadedObject



41
42
43
# File 'lib/mixins/delayed.rb', line 41

def loaded
  @loaded ||= false
end

#loaded!Object



44
45
46
# File 'lib/mixins/delayed.rb', line 44

def loaded!
  @loaded = true
end

#run_after_loaded(&block) ⇒ Object



47
48
49
50
51
# File 'lib/mixins/delayed.rb', line 47

def run_after_loaded(&block)
  self.class.delayed_calls.each do |k,b|
    self.class.delayed_calls[block.object_id] ||= b.result(&block) if b && b.is_a?(Proc)
  end
end