History

Add --all option to docs:generate command

For generating all versions of a doc.

Thibaut Courouble committed 10 years ago

Commit caa25921 parent fbbf9d52 files · +26 −9Browse files

Unified · Split

2 files
  1. lib/docs.rb +3 −2
  2. lib/tasks/docs.thor +23 −7
lib/docs.rb+3−2
@@ -75,8 +75,9 @@ module Docs · 74 unmodified lines
75 find(name, version).store_page(store, page_id)75 find(name, version).store_page(store, page_id)
76 end76 end
77 77
78 def self.generate(name, version)78 def self.generate(doc, version = nil)
79 find(name, version).store_pages(store)79 doc = find(doc, version) unless doc.respond_to?(:store_pages)
80 doc.store_pages(store)
80 end81 end
81 82
82 def self.generate_manifest83 def self.generate_manifest
lib/tasks/docs.thor+23−7
@@ -52,6 +52,7 @@ class DocsCLI < Thor · 51 unmodified lines
52 52
53 desc 'generate <doc> [--version] [--verbose] [--debug] [--force] [--package]', 'Generate a documentation'53 desc 'generate <doc> [--version] [--verbose] [--debug] [--force] [--package]', 'Generate a documentation'
54 option :version, type: :string54 option :version, type: :string
55 option :all, type: :boolean
55 option :verbose, type: :boolean56 option :verbose, type: :boolean
56 option :debug, type: :boolean57 option :debug, type: :boolean
57 option :force, type: :boolean58 option :force, type: :boolean
@@ -74,16 +75,20 @@ class DocsCLI < Thor · 16 unmodified lines
74 return unless yes? 'Proceed? (y/n)'75 return unless yes? 'Proceed? (y/n)'
75 end76 end
76 77
77 if Docs.generate(name, options[:version])78 require 'unix_utils' if options[:package]
78 generate_manifest79
79 if options[:package]80 doc = Docs.find(name, options[:version])
80 require 'unix_utils'81
81 package_doc(Docs.find(name, options[:version]))82 result = if doc.version && options[:all]
83 doc.superclass.versions.all? do |_doc|
84 puts "==> #{_doc.version}"
85 generate_doc(_doc, package: options[:package]).tap { puts "\n" }
82 end86 end
83 puts 'Done'
84 else87 else
85 puts "Failed!#{' (try running with --debug for more information)' unless options[:debug]}"88 generate_doc(doc, package: options[:package])
86 end89 end
90
91 generate_manifest if result
87 rescue Docs::DocNotFound => error92 rescue Docs::DocNotFound => error
88 handle_doc_not_found_error(error)93 handle_doc_not_found_error(error)
89 end94 end
@@ -169,6 +174,17 @@ class DocsCLI < Thor · 79 unmodified lines
169 puts 'Run "thor docs:list" to see the list of docs and versions.'174 puts 'Run "thor docs:list" to see the list of docs and versions.'
170 end175 end
171 176
177 def generate_doc(doc, package: nil)
178 if Docs.generate(doc)
179 package_doc(doc) if package
180 puts 'Done'
181 true
182 else
183 puts "Failed!#{' (try running with --debug for more information)' unless options[:debug]}"
184 false
185 end
186 end
187
172 def download_docs(docs)188 def download_docs(docs)
173 # Don't allow downloaded files to be created as StringIO189 # Don't allow downloaded files to be created as StringIO
174 require 'open-uri'190 require 'open-uri'