Sha256: 5a6d2a40fad3176ccfd2ea20e0be7bdbbd50a54b60fa92d5acc56402f2da8490
Contents?: true
Size: 706 Bytes
Versions: 5
Compression:
Stored size: 706 Bytes
Contents
module DataMapper ## # # DataMapper's DependencyQueue is used to store callbacks for classes which # may or may not be loaded already. # class DependencyQueue def initialize @dependencies = Hash.new { |h,k| h[k] = [] } end def add(class_name, &callback) @dependencies[class_name] << callback resolve! end def resolve! @dependencies.each do |class_name, callbacks| begin klass = Object.find_const(class_name) callbacks.each do |callback| callback.call(klass) end callbacks.clear rescue NameError end end end end # class DependencyQueue end # module DataMapper
Version data entries
5 entries across 5 versions & 3 rubygems