Sha256: ed7fc6f7d87da3d2cc9b6d8dd1e44f3b8c030c3588766dbd8b76afd58d70fe35
Contents?: true
Size: 719 Bytes
Versions: 17
Compression:
Stored size: 719 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 = {} end def add(class_name, &callback) @dependencies[class_name] ||= [] @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
17 entries across 17 versions & 5 rubygems