Method: Puppet::Pops::Loader::LoaderPaths::PlanPath#typed_name

Defined in:
lib/puppet/pops/loader/loader_paths.rb

#typed_name(type, name_authority, relative_path, module_name) ⇒ Object



350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
# File 'lib/puppet/pops/loader/loader_paths.rb', line 350

def typed_name(type, name_authority, relative_path, module_name)
  if @init_filenames.include?(relative_path) && !(module_name.nil? || module_name.empty?)
    TypedName.new(type, module_name, name_authority)
  else
    n = ''.dup
    n << module_name unless module_name.nil?
    ext = @extensions.find { |extension| relative_path.end_with?(extension) }
    relative_path = relative_path[0..-(ext.length + 1)]

    relative_path.split('/').each do |segment|
      n << '::' if n.size > 0
      n << segment
    end
    TypedName.new(type, n, name_authority)
  end
end