History

Merge pull request #1536 from richardkmichael/harmonized-version

Harmonized CLI command version notation

Simon Legner committed 5 years ago

Commit 1c3ceca2 parents f2b6607 64bf56e2 files · +19 −18Browse files

Showing the changes to lib (1 of 2 files). Show all

Unified · Split

lib/tasks/docs.thor+17−16
@@ -40,8 +40,7 @@ class DocsCLI < Thor · 39 unmodified lines
4040 TTY::Pager.new.page(output)
4141 end
4242
43− desc 'page <doc> [path] [--version] [--verbose] [--debug]', 'Generate a page (no indexing)'
44− option :version, type: :string
43+ desc 'page (<doc> | <doc@version>) [path] [--verbose] [--debug]', 'Generate a page (no indexing)'
4544 option :verbose, type: :boolean
4645 option :debug, type: :boolean
4746 def page(name, path = '')
@@ -56,7 +55,8 @@ class DocsCLI < Thor · 8 unmodified lines
5655 Docs.install_report :filter, :request, :doc
5756 end
5857
59− if Docs.generate_page(name, options[:version], path)
58+ name, version = name.split(/@|~/)
59+ if Docs.generate_page(name, version, path)
6060 puts 'Done'
6161 else
6262 puts "Failed!#{' (try running with --debug for more information)' unless options[:debug]}"
@@ -65,8 +65,7 @@ class DocsCLI < Thor · 2 unmodified lines
6565 handle_doc_not_found_error(error)
6666 end
6767
68− desc 'generate <doc> [--version] [--verbose] [--debug] [--force] [--package]', 'Generate a documentation'
69− option :version, type: :string
68+ desc 'generate (<doc> | <doc@version>) [--verbose] [--debug] [--force] [--package]', 'Generate a documentation'
7069 option :all, type: :boolean
7170 option :verbose, type: :boolean
7271 option :debug, type: :boolean
@@ -80,7 +79,7 @@ class DocsCLI < Thor · 7 unmodified lines
8079
8180 require 'unix_utils' if options[:package]
8281
83− doc = Docs.find(name, options[:version])
82+ doc = find_doc(name)
8483
8584 if doc < Docs::UrlScraper && !options[:force]
8685 puts <<-TEXT.strip_heredoc
@@ -119,7 +118,7 @@ class DocsCLI < Thor · 32 unmodified lines
119118 puts 'Done'
120119 end
121120
122− desc 'download (<doc> <doc@version>... | --default | --installed | --all)', 'Download documentations'
121+ desc 'download (<doc> <doc@version>... | --default | --installed | --all)', 'Download documentation packages'
123122 option :default, type: :boolean
124123 option :installed, type: :boolean
125124 option :all, type: :boolean
@@ -142,7 +141,7 @@ class DocsCLI < Thor · 16 unmodified lines
142141 handle_doc_not_found_error(error)
143142 end
144143
145− desc 'package <doc> <doc@version>...', 'Package documentations'
144+ desc 'package <doc> <doc@version>...', 'Create documentation packages'
146145 def package(*names)
147146 require 'unix_utils'
148147 docs = find_docs(names)
@@ -267,17 +266,19 @@ class DocsCLI < Thor · 118 unmodified lines
267266
268267 private
269268
270− def find_docs(names)
271− names.flat_map do |name|
272− name, version = name.split(/@|~/)
273− if version == 'all'
274− Docs.find(name, false).versions
275− else
276− Docs.find(name, version)
277− end
269+ def find_doc(name)
270+ name, version = name.split(/@|~/)
271+ if version == 'all'
272+ Docs.find(name, false).versions
273+ else
274+ Docs.find(name, version)
278275 end
279276 end
280277
278+ def find_docs(names)
279+ names.flat_map {|name| find_doc(name)}
280+ end
281+
281282 def find_docs_by_slugs(slugs)
282283 slugs.flat_map do |slug|
283284 slug, version = slug.split(/~/)