VerifyUrls

Verify URL(s) with ease - CLI and Ruby.

Installation

Add this line to your application's Gemfile:

gem 'verify_urls'

And then execute:

$ bundle

Or install it yourself as:

$ gem install verify_urls

Usage

Command Line Interface (CLI)

Usage: verify_urls --help
        --file=README.md             The file that contains the URLs to verify.
        --format=markdown            The file format (optional) - one of markdown, html, csv (if none given we'll try to infer it from the file path).
        --output=output.csv          CSV Output path
        --[no-]error-failed          Exit with non-zero status if any URL(s) failed.
    -h, --help                       How to use

Ruby

Verify all URLs in README.md

reader = VerifyUrls::Reader.new('README.md')
reader.urls.each do |url|
  response = VerifyUrls::Helper.GET(url)
  puts "Failed: #{url}" if response&.code != 200
end

Get all URLs in README.md:

require 'verify_urls'

reader = VerifyUrls::Reader.new('README.md')
reader.urls # => ["https://rubygems.org", "https://opensource.org/licenses/MIT"]

# we will try to infer the file format from the file extension
# you can explicitly provide it
reader = VerifyUrls::Reader.new('README', 'markdown')
reader.urls # => ["https://rubygems.org", "https://opensource.org/licenses/MIT"]

HTML and CSV is also supported

reader = VerifyUrls::Reader.new('index.html') # get all anchor hrefs
reader.urls # => ["https://example.com"]

reader = VerifyUrls::Reader.new('output.csv') # assumes no header and URL to be in the first column
reader.urls # => ["https://example.com"]

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/buren/verify_urls.

License

The gem is available as open source under the terms of the MIT License.