Method: Puppet::Parser::Scope#transform_and_assert_classnames
- Defined in:
- lib/puppet/parser/scope.rb
#transform_and_assert_classnames(names) ⇒ Array<String>
Transforms references to classes to the form suitable for lookup in the compiler.
Makes names passed in the names array absolute if they are relative.
Transforms Class[] and Resource[] type references to class name or raises an error if a Class[] is unspecific, if a Resource is not a ‘class’ resource, or if unspecific (no title).
1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 |
# File 'lib/puppet/parser/scope.rb', line 1080 def transform_and_assert_classnames(names) names.map do |name| case name when NilClass raise ArgumentError, _("Cannot use undef as a class name") when String raise ArgumentError, _("Cannot use empty string as a class name") if name.empty? name.sub(/^([^:]{1,2})/, '::\1') when Puppet::Resource assert_class_and_title(name.type, name.title) name.title.sub(/^([^:]{1,2})/, '::\1') when Puppet::Pops::Types::PClassType # TRANSLATORS "Class" and "Type" are Puppet keywords and should not be translated raise ArgumentError, _("Cannot use an unspecific Class[] Type") unless name.class_name name.class_name.sub(/^([^:]{1,2})/, '::\1') when Puppet::Pops::Types::PResourceType assert_class_and_title(name.type_name, name.title) name.title.sub(/^([^:]{1,2})/, '::\1') end.downcase end end |