Method: Puppet::Pops::Types::PTypeSetType#resolve_hash
- Defined in:
- lib/puppet/pops/types/p_type_set_type.rb
#resolve_hash(loader, init_hash) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 |
# File 'lib/puppet/pops/types/p_type_set_type.rb', line 323 def resolve_hash(loader, init_hash) result = Hash[init_hash.map do |key, value| key = resolve_type_refs(loader, key) value = resolve_type_refs(loader, value) unless key == KEY_TYPES && value.is_a?(Hash) [key, value] end] name_auth = (result, loader) types = result[KEY_TYPES] if types.is_a?(Hash) types.each do |type_name, value| full_name = "#{@name}::#{type_name}".freeze typed_name = Loader::TypedName.new(:type, full_name, name_auth) = value.is_a?(Hash) ? 'Object' : 'TypeAlias' type = Loader::TypeDefinitionInstantiator.create_named_type(full_name, , value, name_auth) loader.set_entry(typed_name, type) types[type_name] = type end end result end |