module Parser

Attributes

options[W]

Public Class Methods

Parse(args) click to toggle source
# File lib/mailchekka/parser.rb, line 17
def self.Parse(args)
  @options = Options.new
  args << '-h' if args.empty?
  opt_parser.parse!(args)
  @options
end
opt_parser() click to toggle source
# File lib/mailchekka/parser.rb, line 24
def self.opt_parser
  @parser ||= OptionParser.new do |parser|
    parser.banner = 'Usage: mailchecker [options]'
    parser.separator ''
    parser.on('-t', '--host HOST', String, '#Mail service host.') do |host|
      @options.host = host
    end

    parser.on('-p', '--port PORT', Integer,
    '#Port on which service runs. Default: 143.') do |port|
      @options.port = port
    end

    parser.on('-l', '--login LOGIN', String,
    '#Login needed to execute the script.') do |login|
      @options.login = login
    end

    parser.on('-x', '--password PASSWORD', String,
    '#Password needed to execute script.') do |pass|
      @options.password = pass
    end

    parser.on('-s', '--secure', TrueClass, '#Enable ssl.') do
      @options.ssl = true
    end

    parser.on('-i', '--interval INTERVAL', Integer, "#Interval at which program checks new mail. Default: 30 seconds.") do |interv|
      @options.interval = interv unless interv < 30
    end

    parser.on('-o', '--pop', '#Enables POP3. Default is IMAP.') do
      @options.pop = true
    end

    parser.on('-h', '--help', 'Prints this help.') do
      puts parser
      exit
    end
  end
end