Sha256: df341b5ff0ca45cd94b96ccd986de15647f9c33123080c93bb96ddaf0ee48148

Contents?: true

Size: 942 Bytes

Versions: 4

Compression:

Stored size: 942 Bytes

Contents

require 'optparse'

class Kicker
  def self.option_parser
    @option_parser ||= OptionParser.new do |opt|
      opt.banner = "Usage: #{$0} [options] [paths to watch]"
    end
  end
  
  OPTION_PARSER_CALLBACK = lambda do |options|
    option_parser.on('--[no-]growl', 'Whether or not to use Growl. Default is to use growl.') do |growl|
      options[:growl] = growl
    end
    
    option_parser.on('--growl-command [COMMAND]', 'The command to execute when the Growl succeeded message is clicked.') do |command|
      options[:growl_command] = command
    end
    
    option_parser.on('-l', '--latency [FLOAT]', 'FSEvent grouping latency') do |latency|
      options[:latency] = Float(latency)
    end
    
    option_parser
  end
  
  def self.parse_options(argv)
    argv = argv.dup
    options = { :growl => true }
    OPTION_PARSER_CALLBACK.call(options).parse!(argv)
    options[:paths] = argv unless argv.empty?
    options
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
alloy-kicker-1.9.0 lib/kicker/options.rb
alloy-kicker-1.9.1 lib/kicker/options.rb
alloy-kicker-1.9.2 lib/kicker/options.rb
alloy-kicker-1.9.3 lib/kicker/options.rb