class Raketary::App

@author Jonathan Bradley Whited @since 0.1.0

Attributes

args[R]
options[R]
parsers[R]
ran_cmd[RW]
ran_cmd?[RW]
soft_error[RW]
version[R]

Public Class Methods

new(args=ARGV) click to toggle source
Calls superclass method
# File lib/raketary/app.rb, line 38
def initialize(args=ARGV)
  super(self,'raketary')

  @args = args
  @options = {}
  @parsers = []
  @ran_cmd = false
  @soft_error = nil
  @version = Raketary::VERSION

  @sub_cmds = {
    'bump' => SubCmd.new("Bump your project's version",BumpCmd),
    'ghp_sync' => SubCmd.new('Sync YARDoc to GitHub Pages repo',GHPSyncCmd),
    'github_pkg' => SubCmd.new("Publish your project's gem(s) to GitHub Packages",GitHubPkgCmd),
    'irb' => SubCmd.new('Open an irb session loaded with your library',IRBCmd),
    'nokogiri' => SubCmd.new('Install Nokogiri libs',NokogiriCmd),
    'run' => SubCmd.new("Run your project's main file: #{@name} run -- --version",RunCmd)
  }

  parse!(true) do |op|
    op.banner = "Usage: #{@name} [options] [command] [options]..."

    op.on_tail('-v','--version',"show the version of #{@name}") do
      puts "#{@name} v#{@version}"
      exit
    end
  end
end

Public Instance Methods

run() click to toggle source
# File lib/raketary/app.rb, line 67
def run
  return if @ran_cmd

  puts @parsers.join

  if !@soft_error.nil?
    puts
    puts "ERROR: #{@soft_error}"
  end
end