@@ -52,6 +52,7 @@ class DocsCLI < Thor
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
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
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'
0 commit comments