class DTK::Client::Operation::Module::Unpublish

Attributes

module_ref[R]

Public Class Methods

execute(args = Args.new) click to toggle source
# File lib/client/operation/module/unpublish.rb, line 29
def self.execute(args = Args.new)
  wrap_operation(args) do |args|
    module_ref  = args.required(:module_ref)
    new('dtkn', module_ref).unpublish(:skip_prompt => args[:skip_prompt], :force => args[:force])
  end
end
new(catalog, module_ref) click to toggle source
# File lib/client/operation/module/unpublish.rb, line 23
def initialize(catalog, module_ref)
  @catalog    = catalog
  @module_ref = module_ref
end

Public Instance Methods

unpublish(opts = {}) click to toggle source
# File lib/client/operation/module/unpublish.rb, line 36
def unpublish(opts = {})
  version = module_ref.version
  raise Error::Usage, "Version is required" unless version

  unless opts[:skip_prompt]
    module_ref_opts = { :namespace => module_ref.namespace }
    module_ref_opts.merge!(:version => version)
    return unless Console.prompt_yes_no("Are you sure you want to unpublish module '#{DTK::Common::PrettyPrintForm.module_ref(module_ref.module_name, module_ref_opts)}' from dtk network?", :add_options => true)
  end

  module_info = {
    name:          module_ref.module_name,
    namespace:     module_ref.namespace,
    version:       version
  }
  DtkNetworkClient::Unpublish.run(module_info)

  nil
end