Sha256: 4f8b4e1dcb8668120bfa9a952fdcb79776441d5ffd1a41d45319ac6204c3ca7b

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

module PDK::CLI
  @module_generate_cmd = @module_cmd.define_command do
    name 'generate'
    usage 'generate [options] <module_name>'
    summary 'This command is now \'pdk new module\'.'

    PDK::CLI.template_url_option(self)
    PDK::CLI.template_ref_option(self)
    PDK::CLI.skip_interview_option(self)

    run do |opts, args, _cmd|
      require 'pdk/generate/module'
      require 'tty/prompt'

      module_name = args[0]

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

      PDK::CLI::Util.validate_template_opts(opts)

      PDK.logger.info("New modules are created using the 'pdk new module' command.")
      prompt = TTY::Prompt.new(help_color: :cyan)
      redirect = PDK::CLI::Util::CommandRedirector.new(prompt)
      redirect.target_command('pdk new module')
      answer = redirect.run

      if answer
        module_name_parts = module_name.split('-', 2)
        if module_name_parts.size > 1
          opts[:username] = module_name_parts[0]
          opts[:module_name] = module_name_parts[1]
        else
          opts[:module_name] = module_name
        end
        opts[:target_dir] = opts[:module_name]

        PDK.logger.info('Creating new module: %{modname}' % { modname: module_name })
        PDK::Generate::Module.invoke(opts)
      else
        exit 1
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pdk-2.7.1 lib/pdk/cli/module/generate.rb
pdk-2.7.0 lib/pdk/cli/module/generate.rb