Module: UN

Defined in:
lib/un.rb

Overview

:nodoc:

Constant Summary collapse

VERSION =
"0.3.0"

Class Method Summary collapse

Class Method Details

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



418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
# File 'lib/un.rb', line 418

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
  File.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