Sha256: 1e2b001f8d736dbbddafed3da062216a339b4b79b11fdafbef2fbaf884116f74

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

module Puppet::Util::Variables
    def inithooks
        @instance_init_hooks.dup
    end

    def initvars
        return unless defined? @class_init_hooks
        self.inithooks.each do |var, value|
            if value.is_a?(Class)
                instance_variable_set("@" + var.to_s, value.new)
            else
                instance_variable_set("@" + var.to_s, value)
            end
        end
    end

    def instancevar(hash)
        @instance_init_hooks ||= {}

        unless method_defined?(:initvars)
            define_method(:initvars) do
                self.class.inithooks.each do |var, value|
                    if value.is_a?(Class)
                        instance_variable_set("@" + var.to_s, value.new)
                    else
                        instance_variable_set("@" + var.to_s, value)
                    end
                end
            end
        end
        hash.each do |var, value|
            raise("Already initializing %s" % var) if @instance_init_hooks[var]

            @instance_init_hooks[var] = value
        end
    end
end

# $Id: variables.rb 1762 2006-10-10 20:59:10Z luke $

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-0.23.0 lib/puppet/util/variables.rb
puppet-0.22.4 lib/puppet/util/variables.rb
puppet-0.23.2 lib/puppet/util/variables.rb
puppet-0.23.1 lib/puppet/util/variables.rb