Sha256: 4de1eba9f00b982546b4abf01260adc1253f925b75baef74b87fc4058b20c903

Contents?: true

Size: 933 Bytes

Versions: 8

Compression:

Stored size: 933 Bytes

Contents

require 'optparse'

module Stowaway
  class Options
    DEFAULT_FILE_TYPES = %w{.jpg .gif .png .ico .js .css}
    
    attr_reader :path, :file_types
    
    def initialize(argv)
      @file_types = DEFAULT_FILE_TYPES
      parse(argv)
      @path = argv[0]
    end
    
    private
    def parse(argv) 
      OptionParser.new do |opts| 
        opts.banner = "Usage: stowaway [ options ] path/to/site" 
        
        opts.on("-t", "--types <TYPES>", String, "File types to search for (ex: .jpg .gif)") do |ext| 
          @file_types = ext.split(' ')
        end

        opts.on("-h", "--help", "Show this message") do
          puts opts 
          exit 
        end 
        
        begin 
          argv = ["-h"] if argv.empty? 
          opts.parse!(argv) 
        rescue OptionParser::ParseError => e 
          STDERR.puts e.message, "\n", opts 
          exit(-1) 
        end 
        
      end 
    end 
  end 
end 

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
stowaway-0.1.8 lib/stowaway/options.rb
stowaway-0.1.6 lib/stowaway/options.rb
stowaway-0.1.5 lib/stowaway/options.rb
stowaway-0.1.2 lib/stowaway/options.rb
stowaway-0.1.1 lib/stowaway/options.rb
stowaway-0.0.6 lib/stowaway/options.rb
stowaway-0.0.4 lib/stowaway/options.rb
stowaway-0.0.1 lib/stowaway/options.rb