# File lib/puppet/provider/macauthorization/macauthorization.rb, line 218
218:   def convert_plist_to_native_attributes(propertylist)
219:     # This mainly converts the keys from the puppet attributes to the
220:     # 'native' ones, but also enforces that the keys are all Strings
221:     # rather than Symbols so that any merges of the resultant Hash are
222:     # sane. The exception is booleans, where we coerce to a proper bool
223:     # if they come in as a symbol.
224:     newplist = {}
225:     propertylist.each_pair do |key, value|
226:       next if key == :ensure     # not part of the auth db schema.
227:       next if key == :auth_type  # not part of the auth db schema.
228:       case value
229:       when true, :true
230:         value = true
231:       when false, :false
232:         value = false
233:       end
234:       new_key = key
235:       if PuppetToNativeAttributeMap.has_key?(key)
236:         new_key = PuppetToNativeAttributeMap[key].to_s
237:       elsif not key.is_a?(String)
238:         new_key = key.to_s
239:       end
240:       newplist[new_key] = value
241:     end
242:     newplist
243:   end