Sha256: fa8769b3f46e57f9189ef23c13bf871b447aa058f9e3cf6b9af59ebae4c5baa0

Contents?: true

Size: 948 Bytes

Versions: 8

Compression:

Stored size: 948 Bytes

Contents

module PDK::CLI
  @new_class_cmd = @new_cmd.define_command do
    name 'class'
    usage _('class [options] <class_name> [parameter[:type]] [parameter[:type]] ...')
    summary _('Create a new class named <class_name> using given options')

    PDK::CLI.template_url_option(self)

    run do |opts, args, _cmd|
      require 'pdk/generators/puppet_class'

      PDK::CLI::Util.ensure_in_module!

      class_name = args[0]
      module_dir = Dir.pwd

      if class_name.nil? || class_name.empty?
        puts command.help
        exit 1
      end

      unless Util::OptionValidator.valid_class_name?(class_name)
        raise PDK::CLI::FatalError, _("'%{name}' is not a valid class name") % { name: class_name }
      end

      if args.length > 1
        opts[:params] = args[1..-1].map { |r| Util::OptionNormalizer.parameter_specification(r) }
      end

      PDK::Generate::PuppetClass.new(module_dir, class_name, opts).run
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pdk-0.6.0 lib/pdk/cli/new/class.rb
pdk-0.5.0 lib/pdk/cli/new/class.rb
pdk-0.4.4 lib/pdk/cli/new/class.rb
pdk-0.4.3 lib/pdk/cli/new/class.rb
pdk-0.4.2 lib/pdk/cli/new/class.rb
pdk-0.4.1 lib/pdk/cli/new/class.rb
pdk-0.4.0 lib/pdk/cli/new/class.rb
pdk-0.3.0 lib/pdk/cli/new/class.rb