Sha256: bb203f733f7a0831230131db64b02d803cbdfc246d8d621081dedf7f32ac8ca4
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
# -*- coding: utf-8 -*- require "optparse" require "yaml" require "my_help/version" module SpecificHelp class Command def self.run(file,argv=[]) new(file, argv).execute end def initialize(file,argv=[]) @help_cont = YAML.load(File.read(file)) @help_cont[:head].each{|line| print line } @argv = argv end def execute @argv << '--help' if @argv.size==0 command_parser = OptionParser.new do |opt| opt.on('-v', '--version','show program Version.') { |v| opt.version = MyHelp::VERSION puts opt.ver } @help_cont.each_pair{|key,val| next if key==:head opts = val[:opts] opt.on(opts[:short],opts[:long],opts[:desc]) {disp_from_help_cont(key)} } opt.on('--to_hiki','convert to hikidoc format'){to_hiki} end # begin command_parser.parse!(@argv) # rescue=> eval # p eval # end exit end def to_hiki puts '<<<' @help_cont.each_pair{|key,val| if key==:head disp(val) else items =@help_cont[key] puts items[:title] disp(items[:cont]) end } puts '>>>' end def disp(lines) lines.each{|line| puts " #{line}" } end def disp_from_help_cont(key_word) items =@help_cont[key_word] puts items[:title] disp(items[:cont]) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
my_help-0.3.1 | lib/specific_help.rb |