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
7575 find(name, version).store_page(store, page_id)
7676 end
7777
78− def self.generate(name, version)
79− find(name, version).store_pages(store)
78+ def self.generate(doc, version = nil)
79+ doc = find(doc, version) unless doc.respond_to?(:store_pages)
80+ doc.store_pages(store)
8081 end
8182
8283 def self.generate_manifest
lib/tasks/docs.thor+23−7
@@ -52,6 +52,7 @@ class DocsCLI < Thor · 51 unmodified lines
5252
5353 desc 'generate <doc> [--version] [--verbose] [--debug] [--force] [--package]', 'Generate a documentation'
5454 option :version, type: :string
55+ option :all, type: :boolean
5556 option :verbose, type: :boolean
5657 option :debug, type: :boolean
5758 option :force, type: :boolean
@@ -74,16 +75,20 @@ class DocsCLI < Thor · 16 unmodified lines
7475 return unless yes? 'Proceed? (y/n)'
7576 end
7677
77− if Docs.generate(name, options[:version])
78− generate_manifest
79− if options[:package]
80− require 'unix_utils'
81− package_doc(Docs.find(name, options[:version]))
78+ require 'unix_utils' if options[:package]
79+
80+ doc = Docs.find(name, options[:version])
81+
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" }
8286 end
83− puts 'Done'
8487 else
85− puts "Failed!#{' (try running with --debug for more information)' unless options[:debug]}"
88+ generate_doc(doc, package: options[:package])
8689 end
90+
91+ generate_manifest if result
8792 rescue Docs::DocNotFound => error
8893 handle_doc_not_found_error(error)
8994 end
@@ -169,6 +174,17 @@ class DocsCLI < Thor · 79 unmodified lines
169174 puts 'Run "thor docs:list" to see the list of docs and versions.'
170175 end
171176
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+
172188 def download_docs(docs)
173189 # Don't allow downloaded files to be created as StringIO
174190 require 'open-uri'