Sha256: 0a9624c001b794cf3b8eb090a2a7da689e82ba1051f157ed61021bb2ca555cd9

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

#!/usr/bin/env ruby

$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
require 'broken_link_finder'
require 'thor'

class BrokenLinkFinderCLI < Thor
  desc 'crawl [URL]', 'Find broken links at the URL'
  option :recursive, type: :boolean, aliases: [:r], desc: 'Crawl the entire site.'
  option :sort_by_link, type: :boolean, aliases: [:l], desc: 'Makes report more concise if there are more pages crawled than broken links found. Use with -r on medium/large sites.'
  option :verbose, type: :boolean, aliases: [:v], desc: 'Display all ignored links.'
  option :concise, type: :boolean, aliases: [:c], desc: 'Display only a summary of broken links.'
  def crawl(url)
    url = "http://#{url}" unless url.start_with?('http')

    sort_by           = options[:sort_by_link]  ? :link : :page
    broken_verbose    = options[:concise]       ? false : true
    ignored_verbose   = options[:verbose]       ? true  : false

    finder = BrokenLinkFinder::Finder.new(sort: sort_by)
    options[:recursive] ? finder.crawl_site(url) : finder.crawl_page(url)
    finder.pretty_print_link_report(
      broken_verbose: broken_verbose,
      ignored_verbose: ignored_verbose
    )
  end
end

BrokenLinkFinderCLI.start(ARGV)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
broken_link_finder-0.7.0 exe/broken_link_finder