Sha256: 49dae8ca196670a08966c975ef6eaa6c335740f9792f40fa26777d8c0566cb3f

Contents?: true

Size: 1.23 KB

Versions: 12

Compression:

Stored size: 1.23 KB

Contents

require 'pdk'

module PDK
  module Generate
    class DefinedType < PuppetObject
      PUPPET_STRINGS_TYPE = 'defined_types'.freeze

      def initialize(*_args)
        super
        object_name_parts = @object_name.split('::')

        @object_name = if object_name_parts.first == module_name
                         object_name
                       else
                         [module_name, object_name].join('::')
                       end
      end

      def friendly_name
        'Defined Type'.freeze
      end

      def template_files
        # Calculate the defined type tests name
        define_name_parts = object_name.split('::')
        # drop the module name if the object name contains multiple parts
        define_name_parts.delete_at(0) if define_name_parts.length > 1
        files = { 'defined_type_spec.erb' => File.join('spec', 'defines', *define_name_parts) + '_spec.rb' }
        return files if spec_only?

        define_name_parts = object_name.split('::')[1..-1]
        define_name_parts << 'init' if define_name_parts.empty?
        files['defined_type.erb'] = File.join('manifests', *define_name_parts) + '.pp'

        files
      end

      def template_data
        { name: object_name }
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pdk-2.7.1 lib/pdk/generate/defined_type.rb
pdk-2.7.0 lib/pdk/generate/defined_type.rb
pdk-2.6.1 lib/pdk/generate/defined_type.rb
pdk-2.6.0 lib/pdk/generate/defined_type.rb
pdk-2.5.0 lib/pdk/generate/defined_type.rb
pdk-2.3.0 lib/pdk/generate/defined_type.rb
pdk-2.2.0 lib/pdk/generate/defined_type.rb
pdk-2.1.1 lib/pdk/generate/defined_type.rb
pdk-2.1.0 lib/pdk/generate/defined_type.rb
pdk-2.0.0 lib/pdk/generate/defined_type.rb
pdk-1.18.1 lib/pdk/generate/defined_type.rb
pdk-1.18.0 lib/pdk/generate/defined_type.rb