class Chef::Knife::SupermarketUnshare

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/supermarket_unshare.rb, line 39
      def run
        Chef::Log.deprecation <<EOF
The `knife-supermarket` gem has been deprecated and the `knife supermarket` subcommands have been moved in to core Chef. Please ensure you have Chef 12.12 or newer, and then uninstall this gem.
EOF

        @cookbook_name = @name_args[0]
        if @cookbook_name.nil?
          show_usage
          ui.fatal "You must provide the name of the cookbook to unshare"
          exit 1
        end

        confirm "Do you really want to unshare the cookbook #{@cookbook_name}"

        begin
          rest.delete "#{config[:supermarket_site]}/api/v1/cookbooks/#{@name_args[0]}"
        rescue Net::HTTPServerException => e
          raise e unless e.message =~ /Forbidden/
          ui.error "Forbidden: You must be the maintainer of #{@cookbook_name} to unshare it."
          exit 1
        end

        ui.info "Unshared cookbook #{@cookbook_name}"
      end