lib/yard/rake/yardoc_task.rb in yard-0.9.16 vs lib/yard/rake/yardoc_task.rb in yard-0.9.17
- old
+ new
@@ -1,81 +1,81 @@
-# frozen_string_literal: true
-require 'rake'
-require 'rake/tasklib'
-
-module YARD
- module Rake
- # The rake task to run {CLI::Yardoc} and generate documentation.
- class YardocTask < ::Rake::TaskLib
- # The name of the task
- # @return [String] the task name
- attr_accessor :name
-
- # Options to pass to {CLI::Yardoc}
- # @return [Array<String>] the options passed to the commandline utility
- attr_accessor :options
-
- # Options to pass to {CLI::Stats}
- # @return [Array<String>] the options passed to the stats utility
- attr_accessor :stats_options
-
- # The Ruby source files (and any extra documentation files separated by '-')
- # to process.
- # @example Task files assignment
- # YARD::Rake::YardocTask.new do |t|
- # t.files = ['app/**/*.rb', 'lib/**/*.rb', '-', 'doc/FAQ.md', 'doc/Changes.md']
- # end
- # @return [Array<String>] a list of files
- attr_accessor :files
-
- # Runs a +Proc+ before the task
- # @return [Proc] a proc to call before running the task
- attr_accessor :before
-
- # Runs a +Proc+ after the task
- # @return [Proc] a proc to call after running the task
- attr_accessor :after
-
- # @return [Verifier, Proc] an optional {Verifier} to run against all objects
- # being generated. Any object that the verifier returns false for will be
- # excluded from documentation. This attribute can also be a lambda.
- # @see Verifier
- attr_accessor :verifier
-
- # Creates a new task with name +name+.
- #
- # @param [String, Symbol] name the name of the rake task
- # @yield a block to allow any options to be modified on the task
- # @yieldparam [YardocTask] _self the task object to allow any parameters
- # to be changed.
- def initialize(name = :yard)
- @name = name
- @options = []
- @stats_options = []
- @files = []
-
- yield self if block_given?
- self.options += ENV['OPTS'].split(/[ ,]/) if ENV['OPTS']
- self.files += ENV['FILES'].split(/[ ,]/) if ENV['FILES']
- self.options << '--no-stats' unless stats_options.empty?
-
- define
- end
-
- protected
-
- # Defines the rake task
- # @return [void]
- def define
- desc "Generate YARD Documentation" unless ::Rake.application.last_description
- task(name) do
- before.call if before.is_a?(Proc)
- yardoc = YARD::CLI::Yardoc.new
- yardoc.options[:verifier] = verifier if verifier
- yardoc.run(*(options + files))
- YARD::CLI::Stats.run(*(stats_options + ['--use-cache'])) unless stats_options.empty?
- after.call if after.is_a?(Proc)
- end
- end
- end
- end
-end
+# frozen_string_literal: true
+require 'rake'
+require 'rake/tasklib'
+
+module YARD
+ module Rake
+ # The rake task to run {CLI::Yardoc} and generate documentation.
+ class YardocTask < ::Rake::TaskLib
+ # The name of the task
+ # @return [String] the task name
+ attr_accessor :name
+
+ # Options to pass to {CLI::Yardoc}
+ # @return [Array<String>] the options passed to the commandline utility
+ attr_accessor :options
+
+ # Options to pass to {CLI::Stats}
+ # @return [Array<String>] the options passed to the stats utility
+ attr_accessor :stats_options
+
+ # The Ruby source files (and any extra documentation files separated by '-')
+ # to process.
+ # @example Task files assignment
+ # YARD::Rake::YardocTask.new do |t|
+ # t.files = ['app/**/*.rb', 'lib/**/*.rb', '-', 'doc/FAQ.md', 'doc/Changes.md']
+ # end
+ # @return [Array<String>] a list of files
+ attr_accessor :files
+
+ # Runs a +Proc+ before the task
+ # @return [Proc] a proc to call before running the task
+ attr_accessor :before
+
+ # Runs a +Proc+ after the task
+ # @return [Proc] a proc to call after running the task
+ attr_accessor :after
+
+ # @return [Verifier, Proc] an optional {Verifier} to run against all objects
+ # being generated. Any object that the verifier returns false for will be
+ # excluded from documentation. This attribute can also be a lambda.
+ # @see Verifier
+ attr_accessor :verifier
+
+ # Creates a new task with name +name+.
+ #
+ # @param [String, Symbol] name the name of the rake task
+ # @yield a block to allow any options to be modified on the task
+ # @yieldparam [YardocTask] _self the task object to allow any parameters
+ # to be changed.
+ def initialize(name = :yard)
+ @name = name
+ @options = []
+ @stats_options = []
+ @files = []
+
+ yield self if block_given?
+ self.options += ENV['OPTS'].split(/[ ,]/) if ENV['OPTS']
+ self.files += ENV['FILES'].split(/[ ,]/) if ENV['FILES']
+ self.options << '--no-stats' unless stats_options.empty?
+
+ define
+ end
+
+ protected
+
+ # Defines the rake task
+ # @return [void]
+ def define
+ desc "Generate YARD Documentation" unless ::Rake.application.last_description
+ task(name) do
+ before.call if before.is_a?(Proc)
+ yardoc = YARD::CLI::Yardoc.new
+ yardoc.options[:verifier] = verifier if verifier
+ yardoc.run(*(options + files))
+ YARD::CLI::Stats.run(*(stats_options + ['--use-cache'])) unless stats_options.empty?
+ after.call if after.is_a?(Proc)
+ end
+ end
+ end
+ end
+end