Sha256: a4f0855f9c7abcebb59b6891a7968bad89d3b3de15da33b693b7e1d79a7acb43

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

module PDK::CLI
  @new_module_cmd = @new_cmd.define_command do
    name 'module'
    usage _('module [options] [module_name] [target_dir]')
    summary _('Create a new module named [module_name] using given options')

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

    option nil, 'license', _('Specifies the license this module is written under. ' \
      "This should be a identifier from https://spdx.org/licenses/. Common values are 'Apache-2.0', 'MIT', or 'proprietary'."), argument: :required

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

      module_name = args[0]
      target_dir = args[1]

      unless module_name.nil? || module_name.empty?
        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] = target_dir.nil? ? opts[:module_name] : target_dir
      end

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pdk-1.3.2 lib/pdk/cli/new/module.rb
pdk-1.3.1 lib/pdk/cli/new/module.rb
pdk-1.3.0 lib/pdk/cli/new/module.rb