# File lib/puppet/provider/nameservice.rb, line 132
132:   def autogen_id(field)
133:     highest = 0
134: 
135:     group = method = nil
136:     case @resource.class.name
137:     when :user; group = :passwd; method = :uid
138:     when :group; group = :group; method = :gid
139:     else
140:       raise Puppet::DevError, "Invalid resource name #{resource}"
141:     end
142: 
143:     # Make sure we don't use the same value multiple times
144:     if defined?(@@prevauto)
145:       @@prevauto += 1
146:     else
147:       Etc.send(group) { |obj|
148:         if obj.gid > highest
149:           highest = obj.send(method) unless obj.send(method) > 65000
150:         end
151:       }
152: 
153:       @@prevauto = highest + 1
154:     end
155: 
156:     @@prevauto
157:   end