Class DataMapper::DependencyQueue
In: lib/data_mapper/dependency_queue.rb
lib/data_mapper/dependency_queue.rb
Parent: Object

Methods

add   add   new   new   resolve!   resolve!  

Public Class methods

[Source]

   # File lib/data_mapper/dependency_queue.rb, line 4
4:     def initialize
5:       @dependencies = Hash.new { |h,k| h[k] = [] }
6:     end

[Source]

   # File lib/data_mapper/dependency_queue.rb, line 4
4:     def initialize
5:       @dependencies = Hash.new { |h,k| h[k] = [] }
6:     end

Public Instance methods

[Source]

    # File lib/data_mapper/dependency_queue.rb, line 8
 8:     def add(class_name, &b)
 9:       @dependencies[class_name] << b
10:       resolve!
11:     end

[Source]

    # File lib/data_mapper/dependency_queue.rb, line 8
 8:     def add(class_name, &b)
 9:       @dependencies[class_name] << b
10:       resolve!
11:     end

[Source]

    # File lib/data_mapper/dependency_queue.rb, line 13
13:     def resolve!
14:       @dependencies.each_pair do |class_name, callbacks|
15:         if Object.const_defined?(class_name)
16:           klass = Object.const_get(class_name)
17: 
18:           callbacks.each do |b|
19:             b.call(klass)
20:           end
21:           
22:           callbacks.clear
23:         end
24:       end
25:     end

[Source]

    # File lib/data_mapper/dependency_queue.rb, line 13
13:     def resolve!
14:       @dependencies.each_pair do |class_name, callbacks|
15:         if Object.const_defined?(class_name)
16:           klass = Object.const_get(class_name)
17: 
18:           callbacks.each do |b|
19:             b.call(klass)
20:           end
21:           
22:           callbacks.clear
23:         end
24:       end
25:     end

[Validate]