class Docfu::Application

The commandline docfu application.

Constants

DEFAULT_ALIASES

Default aliases for running docfu commands.

Public Instance Methods

aliases(cmd) click to toggle source
# File lib/docfu/application.rb, line 71
def aliases(cmd)
  DEFAULT_ALIASES.each { |k, v| return k if v.include?(cmd) }
  nil
end
create_new_project() click to toggle source
# File lib/docfu/application.rb, line 85
def create_new_project
  project_folder = (ARGV.size >= 2) ? ARGV.last : nil
  puts "Creating new project #{project_folder}"
  Docfu::Skeleton.setup_directory_structure(project_folder)
  Docfu::Skeleton.write_config_yml(project_folder)
  Docfu::Skeleton.write_info_yml(project_folder, config)
  puts "Complete."
end
generate_output() click to toggle source
# File lib/docfu/application.rb, line 94
def generate_output
  gen_type = (ARGV.size >= 2) ? ARGV.last : 'pdf'
  invalid_type_error unless ['pdf', 'ebook', 'html'].include? gen_type
  out = Docfu.const_get(gen_type.capitalize).new
  out.check_missing_commands
  out.check_valid_project
  out.generate(config[:language].split(','), config[:debug])
end
invalid_type_error() click to toggle source
# File lib/docfu/application.rb, line 103
def invalid_type_error
  puts "Error: invalid type. Please use one of `pdf, ebook, html`."
  exit 0
end
run() click to toggle source
# File lib/docfu/application.rb, line 65
def run
  trap("INT") { exit 0 }
  parse_options
  run_commands
end
run_commands() click to toggle source
# File lib/docfu/application.rb, line 76
def run_commands
  if ARGV.size == 0 || aliases(ARGV.first).nil?
    puts self.opt_parser.help
    exit 0
  else
    send(aliases(ARGV.first).to_sym)
  end
end