Sha256: a18a039f0f2300454a46f1c820d620328ef811d7f1c7cea5d070433694e8e846

Contents?: true

Size: 377 Bytes

Versions: 2

Compression:

Stored size: 377 Bytes

Contents

module ActiveSupport
  @load_hooks = Hash.new {|h,k| h[k] = [] }
  @loaded = {}

  def self.on_load(name, &block)
    if base = @loaded[name]
      base.instance_eval(&block)
    else
      @load_hooks[name] << block
    end
  end

  def self.run_load_hooks(name, base = Object)
    @load_hooks[name].each { |hook| base.instance_eval(&hook) }
    @loaded[name] = base
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
activesupport-3.0.0.beta3 lib/active_support/lazy_load_hooks.rb
activesupport-3.0.0.beta2 lib/active_support/lazy_load_hooks.rb