juteroot/cachewarp

View on GitHub
bin/cachewarp

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby
require 'optparse'
require 'uri'
require 'cachewarp'
require 'cachewarp/version'


def parse_arguments(arguments)
  options = {}
  opt_parser = OptionParser.new do |opt|
   opt.banner = "Usage: cachewarp webpage [options]\n" \
                "Example: cachewarp http://www.google.com/"

   opt.on_tail("-h", "--help", "Show this message") do
     puts opt
     abort
   end

   opt.on_tail("-v", "--version", "Show version") do
     puts GEM_VERSION
     exit
   end

   opt.on_tail("-q", "--quiet", "Supress output") do |q|
    options[:quiet] = q
   end
  end
  opt_parser.parse!(arguments)
  if arguments.first && arguments.first[0] != '-'
    options[:uri] = arguments.first
  else
    puts opt_parser
    abort
  end
  options
rescue OptionParser::InvalidOption
  puts opts
end

options = parse_arguments(ARGV)

cache_warp = CacheWarp.new(options[:uri])

if cache_warp.is_cached?
  puts "Cached" unless options[:quiet]
  exit
else
  puts "Not Cached" unless options[:quiet]
  abort
end