Class: YardGhurt::App

Inherits:
Object
  • Object
show all
Defined in:
lib/yard_ghurt.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = ARGV) ⇒ App

Returns a new instance of App.

Since:

  • 1.2.0



42
43
44
45
46
# File 'lib/yard_ghurt.rb', line 42

def initialize(args=ARGV)
  super()

  @args = args
end

Instance Attribute Details

#argsObject (readonly)

Since:

  • 1.2.0



40
41
42
# File 'lib/yard_ghurt.rb', line 40

def args
  @args
end

Instance Method Details

#runObject

Since:

  • 1.2.0



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# 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