# 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