Add YARD
This commit is contained in:
parent
bb0e750779
commit
97b15eddf6
5 changed files with 36 additions and 1 deletions
4
.yardopts
Normal file
4
.yardopts
Normal file
|
@ -0,0 +1,4 @@
|
|||
--markup markdown
|
||||
--readme README.md
|
||||
--protected
|
||||
--private
|
25
Rakefile
25
Rakefile
|
@ -2,11 +2,14 @@
|
|||
|
||||
require 'bundler/gem_tasks'
|
||||
|
||||
CLEAN << '.yardoc'
|
||||
CLEAN << 'doc'
|
||||
|
||||
desc 'Run default checks'
|
||||
task default: %i[lint]
|
||||
|
||||
desc 'Run code analysis tools'
|
||||
task lint: %i[rubocop]
|
||||
task lint: %i[rubocop yard:cov]
|
||||
|
||||
desc 'Fix code style (rubocop --auto-correct)'
|
||||
task fix: 'rubocop:auto_correct'
|
||||
|
@ -18,7 +21,27 @@ rescue LoadError
|
|||
nil
|
||||
end
|
||||
|
||||
begin
|
||||
require 'yard'
|
||||
YARD::Rake::YardocTask.new
|
||||
rescue LoadError
|
||||
nil
|
||||
end
|
||||
|
||||
desc 'Open development console'
|
||||
task :console do
|
||||
exec 'bundle', 'exec', File.expand_path(File.join('bin', 'console'), __dir__)
|
||||
end
|
||||
|
||||
namespace :yard do
|
||||
desc 'Measure documentation coverage'
|
||||
task :cov do
|
||||
result = `bundle exec yard stats`.lines.last.strip.freeze
|
||||
m = result.match(/\A(\d+(\.\d+)?)% documented\z/)
|
||||
raise 'Invalid result' if m.nil?
|
||||
|
||||
coverage = m[1].to_f.round(2)
|
||||
puts "Documentation coverage: #{coverage}%"
|
||||
# TODO: raise 'Not fully documented!' if coverage != 100
|
||||
end
|
||||
end
|
||||
|
|
|
@ -52,4 +52,5 @@ Gem::Specification.new do |spec|
|
|||
spec.add_development_dependency 'rake', '~> 13.0'
|
||||
spec.add_development_dependency 'rubocop-performance', '~> 1.13'
|
||||
spec.add_development_dependency 'rubocop-rake', '~> 0.6'
|
||||
spec.add_development_dependency 'yard', '~> 0.9'
|
||||
end
|
||||
|
|
|
@ -25,3 +25,9 @@ require_relative 'diversipub/puma_task'
|
|||
require_relative 'diversipub/rack_app'
|
||||
require_relative 'diversipub/sinatra_app'
|
||||
require_relative 'diversipub/version'
|
||||
|
||||
##
|
||||
# A publishing platform for HTTP, Gemini, ActivityPub, RSS, Atom, and others.
|
||||
#
|
||||
module Diversipub
|
||||
end
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module Diversipub
|
||||
# Gem version.
|
||||
VERSION = '0.0.0'
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue