Class: Docfu::Application
- Inherits:
-
Object
- Object
- Docfu::Application
- Includes:
- Mixlib::CLI
- Defined in:
- lib/docfu/application.rb
Overview
The commandline docfu application.
Constant Summary collapse
- DEFAULT_ALIASES =
Default aliases for running docfu commands.
{ :create_new_project => ['new', 'create', 'n'], :generate_output => ['generate', 'make', 'g'] }
Instance Method Summary collapse
- #aliases(cmd) ⇒ Object
- #create_new_project ⇒ Object
- #generate_output ⇒ Object
- #invalid_type_error ⇒ Object
- #run ⇒ Object
- #run_commands ⇒ Object
Instance Method Details
#aliases(cmd) ⇒ Object
72 73 74 75 |
# File 'lib/docfu/application.rb', line 72 def aliases(cmd) DEFAULT_ALIASES.each { |k, v| return k if v.include?(cmd) } nil end |
#create_new_project ⇒ Object
86 87 88 89 90 91 92 93 |
# File 'lib/docfu/application.rb', line 86 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 ⇒ Object
95 96 97 98 99 100 101 102 |
# File 'lib/docfu/application.rb', line 95 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 ⇒ Object
104 105 106 107 |
# File 'lib/docfu/application.rb', line 104 def invalid_type_error puts "Error: invalid type. Please use one of `pdf, ebook, html`." exit 0 end |
#run ⇒ Object
66 67 68 69 70 |
# File 'lib/docfu/application.rb', line 66 def run trap("INT") { exit 0 } run_commands end |
#run_commands ⇒ Object
77 78 79 80 81 82 83 84 |
# File 'lib/docfu/application.rb', line 77 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 |