class YardGhurt::App

A simple CLI app used in file bin/yard_ghurt.

Mainly for getting GitHub/YARDoc anchor link IDs.

@author Jonathan Bradley Whited @since 1.2.0

Attributes

args[R]

Public Class Methods

new(args=ARGV) click to toggle source
Calls superclass method
# File lib/yard_ghurt.rb, line 42
def initialize(args=ARGV)
  super()

  @args = args
end

Public Instance Methods

run() click to toggle source
# File lib/yard_ghurt.rb, line 48
def run
  parser = OptionParser.new do |op|
    op.program_name = 'yard_ghurt'
    op.version = VERSION

    op.banner = "Usage: #{op.program_name} [options]"

    op.on('-a','--anchor <string>','Print GitHub & YARDoc anchor link IDs of <string>') do |str|
      al = AnchorLinks.new
      puts "GitHub: #{al.to_github_anchor_id(str)}"
      puts "YARDoc: #{al.to_yard_anchor_id(str)}"
      exit
    end
    op.on('-g','--github <string>','Print GitHub anchor link ID of <string>') do |str|
      al = AnchorLinks.new
      puts al.to_github_anchor_id(str)
      exit
    end
    op.on('-y','--yard <string>','Print YARDoc anchor link ID of <string>') do |str|
      al = AnchorLinks.new
      puts al.to_yard_anchor_id(str)
      exit
    end

    op.separator op.summary_indent + '---'

    op.on_tail('-h','--help','Print this help') do
      puts op
      exit
    end
    op.on_tail('-v','--version','Print the version') do
      puts "#{op.program_name} v#{op.version}"
      exit
    end
  end

  parser.parse!(@args)
  puts parser # Print help if nothing was parsed
end