lib/yard/cli/gems.rb in yard-0.9.18 vs lib/yard/cli/gems.rb in yard-0.9.19
- old
+ new
@@ -1,84 +1,84 @@
-# frozen_string_literal: true
-module YARD
- module CLI
- # @since 0.6.0
- class Gems < Command
- def initialize
- @rebuild = false
- @gems = []
- end
-
- def description; "Builds YARD index for gems" end
-
- # Runs the commandline utility, parsing arguments and generating
- # YARD indexes for gems.
- #
- # @param [Array<String>] args the list of arguments
- # @return [void]
- def run(*args)
- require 'rubygems'
- optparse(*args)
- build_gems
- end
-
- private
-
- # Builds .yardoc files for all non-existing gems
- def build_gems
- require 'rubygems'
- @gems.each do |spec|
- ver = "= #{spec.version}"
- dir = Registry.yardoc_file_for_gem(spec.name, ver)
- if dir && File.directory?(dir) && !@rebuild
- log.debug "#{spec.name} index already exists at '#{dir}'"
- else
- yfile = Registry.yardoc_file_for_gem(spec.name, ver, true)
- next unless yfile
- next unless File.directory?(spec.full_gem_path)
- Registry.clear
- Dir.chdir(spec.full_gem_path) do
- log.info "Building yardoc index for gem: #{spec.full_name}"
- Yardoc.run('--no-stats', '-n', '-b', yfile)
- end
- end
- end
- end
-
- def add_gems(gems)
- 0.step(gems.size - 1, 2) do |index|
- gem = gems[index]
- ver_require = gems[index + 1] || ">= 0"
- specs = YARD::GemIndex.find_all_by_name(gem, ver_require)
- if specs.empty?
- log.warn "#{gem} #{ver_require} could not be found in RubyGems index"
- else
- @gems += specs
- end
- end
- end
-
- # Parses options
- def optparse(*args)
- opts = OptionParser.new
- opts.banner = 'Usage: yard gems [options] [gem_name [version]]'
- opts.separator ""
- opts.separator "#{description}. If no gem_name is given,"
- opts.separator "all gems are built."
- opts.separator ""
- opts.on('--rebuild', 'Rebuilds index') do
- @rebuild = true
- end
-
- common_options(opts)
- parse_options(opts, args)
- add_gems(args)
-
- if !args.empty? && @gems.empty?
- log.error "No specified gems could be found for command"
- elsif @gems.empty?
- @gems += YARD::GemIndex.all if @gems.empty?
- end
- end
- end
- end
-end
+# frozen_string_literal: true
+module YARD
+ module CLI
+ # @since 0.6.0
+ class Gems < Command
+ def initialize
+ @rebuild = false
+ @gems = []
+ end
+
+ def description; "Builds YARD index for gems" end
+
+ # Runs the commandline utility, parsing arguments and generating
+ # YARD indexes for gems.
+ #
+ # @param [Array<String>] args the list of arguments
+ # @return [void]
+ def run(*args)
+ require 'rubygems'
+ optparse(*args)
+ build_gems
+ end
+
+ private
+
+ # Builds .yardoc files for all non-existing gems
+ def build_gems
+ require 'rubygems'
+ @gems.each do |spec|
+ ver = "= #{spec.version}"
+ dir = Registry.yardoc_file_for_gem(spec.name, ver)
+ if dir && File.directory?(dir) && !@rebuild
+ log.debug "#{spec.name} index already exists at '#{dir}'"
+ else
+ yfile = Registry.yardoc_file_for_gem(spec.name, ver, true)
+ next unless yfile
+ next unless File.directory?(spec.full_gem_path)
+ Registry.clear
+ Dir.chdir(spec.full_gem_path) do
+ log.info "Building yardoc index for gem: #{spec.full_name}"
+ Yardoc.run('--no-stats', '-n', '-b', yfile)
+ end
+ end
+ end
+ end
+
+ def add_gems(gems)
+ 0.step(gems.size - 1, 2) do |index|
+ gem = gems[index]
+ ver_require = gems[index + 1] || ">= 0"
+ specs = YARD::GemIndex.find_all_by_name(gem, ver_require)
+ if specs.empty?
+ log.warn "#{gem} #{ver_require} could not be found in RubyGems index"
+ else
+ @gems += specs
+ end
+ end
+ end
+
+ # Parses options
+ def optparse(*args)
+ opts = OptionParser.new
+ opts.banner = 'Usage: yard gems [options] [gem_name [version]]'
+ opts.separator ""
+ opts.separator "#{description}. If no gem_name is given,"
+ opts.separator "all gems are built."
+ opts.separator ""
+ opts.on('--rebuild', 'Rebuilds index') do
+ @rebuild = true
+ end
+
+ common_options(opts)
+ parse_options(opts, args)
+ add_gems(args)
+
+ if !args.empty? && @gems.empty?
+ log.error "No specified gems could be found for command"
+ elsif @gems.empty?
+ @gems += YARD::GemIndex.all if @gems.empty?
+ end
+ end
+ end
+ end
+end