This commit is contained in:
Alex Kotov 2023-05-09 17:39:57 +04:00
parent bb0e750779
commit 97b15eddf6
Signed by: kotovalexarian
GPG key ID: 553C0EBBEB5D5F08
5 changed files with 36 additions and 1 deletions

4
.yardopts Normal file
View file

@ -0,0 +1,4 @@
--markup markdown
--readme README.md
--protected
--private

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,6 @@
# frozen_string_literal: true
module Diversipub
# Gem version.
VERSION = '0.0.0'
end