# File lib/puppet/node/environment.rb, line 30 30: def self.new(name = nil) 31: return name if name.is_a?(self) 32: name ||= Puppet.settings.value(:environment) 33: 34: raise ArgumentError, "Environment name must be specified" unless name 35: 36: symbol = name.to_sym 37: 38: return @seen[symbol] if @seen[symbol] 39: 40: obj = self.allocate 41: obj.send :initialize, symbol 42: @seen[symbol] = obj 43: end