class YARD::RubygemsHook

def run_yardoc(*args)

def run_yardoc(*args)
  args << '--quiet' unless Gem.configuration.really_verbose
  args << '--backtrace' if Gem.configuration.backtrace
  unless File.file?(File.join(@spec.full_gem_path, '.yardopts'))
    args << @spec.require_paths
    unless @spec.extra_rdoc_files.empty?
      args << '-'
      args += @spec.extra_rdoc_files
    end
  end
  args = args.flatten.map(&:to_s)
  Dir.chdir(@spec.full_gem_path) do
    YARD::CLI::Yardoc.run(*args)
  end
rescue Errno::EACCES => e
  dirname = File.dirname e.message.split("-")[1].strip
  raise Gem::FilePermissionError, dirname
rescue => ex
  alert_error "While generating documentation for #{@spec.full_name}"
  ui.errs.puts "... MESSAGE:   #{ex}"
  ui.errs.puts "... YARDOC args: #{args.join(' ')}"
  ui.errs.puts "\t#{ex.backtrace.join("\n\t")}" if Gem.configuration.backtrace
  ui.errs.puts "(continuing with the rest of the installation)"
end