mirror of
https://github.com/rapid7/metasploit-framework
synced 2024-08-28 23:26:18 +02:00
![Luke Imhoff](/assets/img/avatar_default.png)
[Fixes #36737359] Refactor Msf::ModuleManager into concerns so its easier to understand and duplicate code can be made DRY. The refactoring also ensures that when loading from directories, Fastlibs, or reloading, the wrapper module will always be named so that activesupport/dependencies will function.
44 lines
1.3 KiB
Ruby
44 lines
1.3 KiB
Ruby
require 'bundler/setup'
|
|
|
|
require 'yard'
|
|
|
|
namespace :yard do
|
|
yard_files = [
|
|
# Ruby source files first
|
|
'lib/**/*.rb',
|
|
# Anything after '-' is a normal documentation, not source
|
|
'-',
|
|
'COPYING',
|
|
'HACKING',
|
|
'THIRD-PARTY.md'
|
|
]
|
|
yard_options = [
|
|
# don't generate documentation from the source of the gems in the gemcache.
|
|
'--exclude', 'lib/gemcache',
|
|
# include documentation for protected methods for developers extending the code.
|
|
'--protected'
|
|
]
|
|
|
|
YARD::Rake::YardocTask.new(:doc) do |t|
|
|
t.files = yard_files
|
|
# --no-stats here as 'stats' task called after will print fuller stats
|
|
t.options = yard_options + ['--no-stats']
|
|
|
|
t.after = Proc.new {
|
|
Rake::Task['yard:stats'].execute
|
|
}
|
|
end
|
|
|
|
desc "Shows stats for YARD Documentation including listing undocumented modules, classes, constants, and methods"
|
|
task :stats => :environment do
|
|
stats = YARD::CLI::Stats.new
|
|
yard_arguments = yard_options + ['--compact', '--list-undoc'] + yard_files
|
|
stats.run *yard_arguments
|
|
end
|
|
end
|
|
|
|
# @todo Figure out how to just clone description from yard:doc
|
|
desc "Generate YARD documentation"
|
|
# allow calling namespace to as a task that goes to default task for namespace
|
|
task :yard => ['yard:doc']
|