Sha256: 88b511bb026e836f578c4e90f97f9b23049faa7927df66b2a1158e52463c522b
Contents?: true
Size: 1.46 KB
Versions: 2
Compression:
Stored size: 1.46 KB
Contents
require 'pdk/generators/puppet_object' module PDK module Generate class PuppetClass < PuppetObject OBJECT_TYPE = :class # Prepares the data needed to render the new Puppet class template. # # @return [Hash{Symbol => Object}] a hash of information that will be # provided to the class and class spec templates during rendering. def template_data data = { name: object_name } data end # Calculates the path to the .pp file that the new class will be written # to. # # @return [String] the path where the new class will be written. def target_object_path @target_pp_path ||= begin class_name_parts = object_name.split('::')[1..-1] class_name_parts << 'init' if class_name_parts.empty? "#{File.join(module_dir, 'manifests', *class_name_parts)}.pp" end end # Calculates the path to the file that the tests for the new class will # be written to. # # @return [String] the path where the tests for the new class will be # written. def target_spec_path @target_spec_path ||= begin class_name_parts = object_name.split('::') # drop the module name if the object name contains multiple parts class_name_parts.delete_at(0) if class_name_parts.length > 1 "#{File.join(module_dir, 'spec', 'classes', *class_name_parts)}_spec.rb" end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pdk-1.0.1 | lib/pdk/generators/puppet_class.rb |
pdk-1.0.0 | lib/pdk/generators/puppet_class.rb |