Module: UN

Defined in:
lib/un.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.help(argv, output: $stdout) ⇒ Object



371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
# File 'lib/un.rb', line 371

def help(argv, output: $stdout)
  all = argv.empty?
  cmd = nil
  if all
    store = proc {|msg| output << msg}
  else
    messages = {}
    store = proc {|msg| messages[cmd] = msg}
  end
  open(__FILE__) do |me|
    while me.gets("##\n")
      if help = me.gets("\n\n")
        if all or argv.include?(cmd = help[/^#\s*ruby\s.*-e\s+(\w+)/, 1])
          store[help.gsub(/^# ?/, "")]
          break unless all or argv.size > messages.size
        end
      end
    end
  end
  if messages
    argv.each {|arg| output << messages[arg]}
  end
end