yard 0.9.26 → 0.9.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +104 -8
- data/LEGAL +29 -1
- data/LICENSE +1 -1
- data/README.md +9 -2
- data/docs/Tags.md +1 -1
- data/docs/WhatsNew.md +2 -2
- data/lib/yard/autoload.rb +3 -1
- data/lib/yard/cli/command.rb +1 -1
- data/lib/yard/cli/stats.rb +4 -1
- data/lib/yard/cli/yardoc.rb +5 -3
- data/lib/yard/code_objects/base.rb +5 -1
- data/lib/yard/code_objects/macro_object.rb +0 -1
- data/lib/yard/config.rb +5 -1
- data/lib/yard/docstring_parser.rb +1 -2
- data/lib/yard/handlers/processor.rb +0 -1
- data/lib/yard/handlers/ruby/attribute_handler.rb +1 -1
- data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +1 -1
- data/lib/yard/handlers/ruby/method_handler.rb +2 -2
- data/lib/yard/handlers/ruby/mixin_handler.rb +15 -6
- data/lib/yard/handlers/ruby/module_function_handler.rb +15 -3
- data/lib/yard/handlers/ruby/visibility_handler.rb +13 -1
- data/lib/yard/i18n/locale.rb +1 -1
- data/lib/yard/i18n/message.rb +2 -2
- data/lib/yard/i18n/messages.rb +1 -1
- data/lib/yard/i18n/pot_generator.rb +1 -1
- data/lib/yard/logging.rb +116 -61
- data/lib/yard/open_struct.rb +67 -0
- data/lib/yard/options.rb +1 -1
- data/lib/yard/parser/ruby/ast_node.rb +9 -2
- data/lib/yard/parser/ruby/legacy/ruby_lex.rb +19 -4
- data/lib/yard/parser/ruby/ruby_parser.rb +9 -3
- data/lib/yard/parser/source_parser.rb +4 -5
- data/lib/yard/registry_resolver.rb +2 -1
- data/lib/yard/server/commands/base.rb +1 -1
- data/lib/yard/server/commands/library_command.rb +9 -9
- data/lib/yard/server/commands/static_file_helpers.rb +1 -2
- data/lib/yard/server/http_utils.rb +512 -0
- data/lib/yard/server/rack_adapter.rb +13 -5
- data/lib/yard/tags/default_factory.rb +1 -0
- data/lib/yard/tags/directives.rb +10 -2
- data/lib/yard/tags/tag.rb +3 -2
- data/lib/yard/tags/types_explainer.rb +1 -1
- data/lib/yard/templates/engine.rb +0 -1
- data/lib/yard/templates/helpers/html_helper.rb +5 -2
- data/lib/yard/templates/helpers/markup_helper.rb +2 -1
- data/lib/yard/templates/helpers/method_helper.rb +3 -1
- data/lib/yard/templates/template.rb +3 -1
- data/lib/yard/templates/template_options.rb +0 -1
- data/lib/yard/version.rb +1 -1
- data/lib/yard.rb +6 -0
- data/po/ja.po +19 -19
- data/templates/default/fulldoc/html/css/full_list.css +3 -3
- data/templates/default/fulldoc/html/css/style.css +6 -0
- data/templates/default/fulldoc/html/frames.erb +9 -4
- data/templates/default/fulldoc/html/full_list.erb +5 -2
- data/templates/default/fulldoc/html/js/app.js +294 -264
- data/templates/default/fulldoc/html/js/full_list.js +30 -4
- data/templates/default/fulldoc/html/setup.rb +10 -2
- data/templates/default/layout/html/footer.erb +1 -1
- data/templates/default/onefile/html/headers.erb +2 -0
- data/templates/default/tags/html/example.erb +2 -2
- data/templates/default/tags/html/option.erb +1 -1
- metadata +5 -41
- data/.dockerignore +0 -2
- data/.gitattributes +0 -4
- data/.github/FUNDING.yml +0 -3
- data/.github/ISSUE_TEMPLATE.md +0 -33
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -12
- data/.github/workflows/ci.yml +0 -42
- data/.github/workflows/gem.yml +0 -27
- data/.gitignore +0 -14
- data/.rspec +0 -2
- data/.rubocop.yml +0 -112
- data/.travis.yml +0 -49
- data/CODE_OF_CONDUCT.md +0 -15
- data/CONTRIBUTING.md +0 -140
- data/Dockerfile.samus +0 -28
- data/Gemfile +0 -33
- data/Rakefile +0 -39
- data/SECURITY.md +0 -26
- data/benchmarks/builtins_vs_eval.rb +0 -24
- data/benchmarks/concat_vs_join.rb +0 -13
- data/benchmarks/erb_vs_erubis.rb +0 -54
- data/benchmarks/format_args.rb +0 -47
- data/benchmarks/generation.rb +0 -38
- data/benchmarks/marshal_vs_dbm.rb +0 -64
- data/benchmarks/parsing.rb +0 -46
- data/benchmarks/pathname_vs_string.rb +0 -51
- data/benchmarks/rdoc_vs_yardoc.rb +0 -11
- data/benchmarks/registry_store_types.rb +0 -49
- data/benchmarks/ri_vs_yri.rb +0 -19
- data/benchmarks/ripper_parser.rb +0 -13
- data/benchmarks/splat_vs_flatten.rb +0 -13
- data/benchmarks/template_erb.rb +0 -23
- data/benchmarks/template_format.rb +0 -7
- data/benchmarks/template_profile.rb +0 -18
- data/benchmarks/yri_cache.rb +0 -20
- data/samus.json +0 -49
- data/tasks/update_error_map.rake +0 -53
- data/yard.gemspec +0 -23
data/benchmarks/ri_vs_yri.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require "benchmark"
|
3
|
-
|
4
|
-
TIMES = 10
|
5
|
-
Benchmark.bmbm do |x|
|
6
|
-
x.report("ri") { TIMES.times { `ri -T YARD::Tags::Library` } }
|
7
|
-
x.report("yri") { TIMES.times { `./bin/yri -T YARD::Tags::Library` } }
|
8
|
-
end
|
9
|
-
|
10
|
-
__END__
|
11
|
-
|
12
|
-
Rehearsal ---------------------------------------
|
13
|
-
ri 0.000000 0.020000 6.880000 ( 6.929591)
|
14
|
-
yri 0.000000 0.000000 1.060000 ( 1.074840)
|
15
|
-
------------------------------ total: 7.940000sec
|
16
|
-
|
17
|
-
user system total real
|
18
|
-
ri 0.000000 0.020000 6.850000 ( 6.871660)
|
19
|
-
yri 0.000000 0.010000 1.060000 ( 1.067585)
|
data/benchmarks/ripper_parser.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# frozen_string_literal: true
|
3
|
-
require 'benchmark'
|
4
|
-
require File.dirname(__FILE__) + '/../lib/yard'
|
5
|
-
|
6
|
-
$files = Dir[File.dirname(__FILE__) + '/../lib/**/*.rb'].map {|f| File.read(f) }
|
7
|
-
$files_rip = Dir[File.dirname(__FILE__) + '/../lib/**/*.rb'].map {|f| [File.read(f), f] }
|
8
|
-
|
9
|
-
TIMES = 2
|
10
|
-
Benchmark.bmbm do |x|
|
11
|
-
x.report("rip-parser") { TIMES.times { $files_rip.each {|f| YARD::Parser::Ruby::RubyParser.parse(*f) } } }
|
12
|
-
x.report("yard-parser ") { TIMES.times { $files.each {|f| YARD::Parser::Ruby::Legacy::StatementList.new(f) } } }
|
13
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require "benchmark"
|
3
|
-
|
4
|
-
# To prove that flattening a small list is not significantly slower than
|
5
|
-
# calling *list (used to get around create_tag list issue)
|
6
|
-
$a = "FOO BAR BAZ"
|
7
|
-
def foo(*args) args.last.inspect end
|
8
|
-
|
9
|
-
TESTS = 10_000
|
10
|
-
Benchmark.bmbm do |x|
|
11
|
-
x.report("splat") { TESTS.times { foo(*$a) } }
|
12
|
-
x.report("flatten") { TESTS.times { foo(*[$a].flatten) } }
|
13
|
-
end
|
data/benchmarks/template_erb.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require "benchmark"
|
3
|
-
require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')
|
4
|
-
|
5
|
-
YARD::Registry.load_yardoc(File.join(File.dirname(__FILE__), '..', '.yardoc'))
|
6
|
-
obj = YARD::Registry.at("YARD::CodeObjects::Base")
|
7
|
-
|
8
|
-
TIMES = 3
|
9
|
-
Benchmark.bm do |x|
|
10
|
-
x.report("trim-line") { TIMES.times { obj.format(:format => :html) } }
|
11
|
-
module YARD
|
12
|
-
module Templates
|
13
|
-
module Template
|
14
|
-
def erb(section, &block)
|
15
|
-
erb = ERB.new(cache(section))
|
16
|
-
erb.filename = cache_filename(section).to_s
|
17
|
-
erb.result(binding, &block)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
x.report("no-trim ") { TIMES.times { obj.format(:format => :html) } }
|
23
|
-
end
|
@@ -1,7 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require "benchmark"
|
3
|
-
require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')
|
4
|
-
|
5
|
-
YARD::Registry.load_yardoc(File.join(File.dirname(__FILE__), '..', '.yardoc'))
|
6
|
-
obj = YARD::Registry.at("YARD::CodeObjects::Base")
|
7
|
-
log.puts Benchmark.measure { obj.format(:format => :html) }
|
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require 'rubygems'
|
3
|
-
require 'ruby-prof'
|
4
|
-
# require 'benchmark'
|
5
|
-
require File.join(File.dirname(__FILE__), '..', 'lib', 'yard')
|
6
|
-
|
7
|
-
YARD::Registry.load_yardoc(File.join(File.dirname(__FILE__), '..', '.yardoc'))
|
8
|
-
obj = YARD::Registry.at("YARD::CodeObjects::Base")
|
9
|
-
|
10
|
-
# PerfTools::CpuProfiler.start("template_profile") do
|
11
|
-
# end
|
12
|
-
|
13
|
-
result = RubyProf.profile do
|
14
|
-
obj.format(:format => :html, :no_highlight => true)
|
15
|
-
end
|
16
|
-
|
17
|
-
printer = RubyProf::CallTreePrinter.new(result)
|
18
|
-
printer.print(STDOUT)
|
data/benchmarks/yri_cache.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.dirname(__FILE__) + "/../lib/yard"
|
3
|
-
require "benchmark"
|
4
|
-
include YARD::CLI
|
5
|
-
|
6
|
-
class YARD::CLI::YRI
|
7
|
-
def print_object(object) end
|
8
|
-
end
|
9
|
-
|
10
|
-
def remove_cache
|
11
|
-
File.unlink(YRI::CACHE_FILE)
|
12
|
-
end
|
13
|
-
|
14
|
-
TIMES = 10
|
15
|
-
NAME = 'YARD'
|
16
|
-
remove_cache; YRI.run(NAME)
|
17
|
-
Benchmark.bmbm do |x|
|
18
|
-
x.report("cache ") { TIMES.times { YRI.run(NAME) } }
|
19
|
-
x.report("no-cache") { TIMES.times { remove_cache; YRI.run(NAME) } }
|
20
|
-
end
|
data/samus.json
DELETED
@@ -1,49 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"actions": [
|
3
|
-
{
|
4
|
-
"action": "fs-sedfiles",
|
5
|
-
"files": [
|
6
|
-
"lib/*/version.rb"
|
7
|
-
],
|
8
|
-
"arguments": {
|
9
|
-
"search": "VERSION = ['\"](.+?)['\"]",
|
10
|
-
"replace": "VERSION = '$version'"
|
11
|
-
}
|
12
|
-
},
|
13
|
-
{
|
14
|
-
"action": "chmod-files",
|
15
|
-
"files": [
|
16
|
-
"**/*,644",
|
17
|
-
"bin/*,755"
|
18
|
-
]
|
19
|
-
},
|
20
|
-
{
|
21
|
-
"action": "changelog-rotate",
|
22
|
-
"files": [
|
23
|
-
"CHANGELOG.md"
|
24
|
-
],
|
25
|
-
"arguments": {
|
26
|
-
"title_format": "$version - %B %-d$day_nth, %Y"
|
27
|
-
}
|
28
|
-
},
|
29
|
-
{
|
30
|
-
"action": "git-commit",
|
31
|
-
"files": [
|
32
|
-
"CHANGELOG.md",
|
33
|
-
"lib/*/version.rb"
|
34
|
-
]
|
35
|
-
},
|
36
|
-
{
|
37
|
-
"action": "git-merge",
|
38
|
-
"arguments": {
|
39
|
-
"branch": "main"
|
40
|
-
}
|
41
|
-
},
|
42
|
-
{
|
43
|
-
"action": "ruby-bundle"
|
44
|
-
},
|
45
|
-
{
|
46
|
-
"action": "rake-task"
|
47
|
-
}
|
48
|
-
]
|
49
|
-
}
|
data/tasks/update_error_map.rake
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Script to generate the Error class name map in:
|
4
|
-
# lib/yard/handlers/c/base.rb
|
5
|
-
|
6
|
-
require 'open-uri'
|
7
|
-
require 'stringio'
|
8
|
-
|
9
|
-
desc 'Update the error class names map'
|
10
|
-
task :update_error_map do
|
11
|
-
|
12
|
-
ERROR_C_URL = 'https://raw.githubusercontent.com/ruby/ruby/master/error.c'
|
13
|
-
|
14
|
-
INIT_MATCH = /void\s+Init_Exception\(void\)\s*\{(.+?)^\}/m
|
15
|
-
NAME_MATCH = /(\w+)\s*=\s*rb_define_class\("([^"]+)"/
|
16
|
-
|
17
|
-
$stderr.puts "Downloading #{ERROR_C_URL} ..."
|
18
|
-
content = open(ERROR_C_URL) { |io| io.read }
|
19
|
-
|
20
|
-
$stderr.puts "Extracting class names ..."
|
21
|
-
init_source = content.match(INIT_MATCH).captures.first
|
22
|
-
map = init_source.scan(NAME_MATCH).sort_by { |key, value| key }
|
23
|
-
|
24
|
-
$stderr.puts "Generating new lookup table ..."
|
25
|
-
indent = ' ' * 4
|
26
|
-
source = StringIO.new
|
27
|
-
source.puts "#{indent}ERROR_CLASS_NAMES = {"
|
28
|
-
map.each do |variable, name|
|
29
|
-
source.puts "#{indent} '#{variable}' => '#{name}',"
|
30
|
-
end
|
31
|
-
source.puts "#{indent}}"
|
32
|
-
|
33
|
-
$stderr.puts source.string
|
34
|
-
|
35
|
-
$stderr.puts "Patching 'lib/yard/handlers/c/base.rb' ..."
|
36
|
-
CLASS_NAME_MAP_MATCH = /^\s+ERROR_CLASS_NAMES = {[^}]+}/
|
37
|
-
|
38
|
-
PROJECT_PATH = File.expand_path('..', __dir__)
|
39
|
-
C_BASE_HANDLER = File.join(PROJECT_PATH, 'lib/yard/handlers/c/base.rb')
|
40
|
-
|
41
|
-
File.open(C_BASE_HANDLER, 'r+') { |file|
|
42
|
-
content = file.read
|
43
|
-
# .rstrip is added to avoid adding new empty lines due to the new lines
|
44
|
-
# added by `.puts` when building the string.
|
45
|
-
content.gsub!(CLASS_NAME_MAP_MATCH, source.string.rstrip)
|
46
|
-
file.rewind
|
47
|
-
file.truncate(0)
|
48
|
-
file.write(content)
|
49
|
-
}
|
50
|
-
|
51
|
-
$stderr.puts "Done!"
|
52
|
-
|
53
|
-
end
|
data/yard.gemspec
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require File.expand_path('../lib/yard/version', __FILE__)
|
3
|
-
|
4
|
-
Gem::Specification.new do |s|
|
5
|
-
s.name = "yard"
|
6
|
-
s.summary = "Documentation tool for consistent and usable documentation in Ruby."
|
7
|
-
s.description = <<-eof
|
8
|
-
YARD is a documentation generation tool for the Ruby programming language.
|
9
|
-
It enables the user to generate consistent, usable documentation that can be
|
10
|
-
exported to a number of formats very easily, and also supports extending for
|
11
|
-
custom Ruby constructs such as custom class level definitions.
|
12
|
-
eof
|
13
|
-
s.version = YARD::VERSION
|
14
|
-
s.author = "Loren Segal"
|
15
|
-
s.email = "lsegal@soen.ca"
|
16
|
-
s.homepage = "http://yardoc.org"
|
17
|
-
s.platform = Gem::Platform::RUBY
|
18
|
-
s.files = `git ls-files`.strip.split(/\s+/).reject {|f| f.match(%r{^spec/}) }
|
19
|
-
s.require_paths = ['lib']
|
20
|
-
s.executables = ['yard', 'yardoc', 'yri']
|
21
|
-
s.license = 'MIT' if s.respond_to?(:license=)
|
22
|
-
s.metadata['yard.run'] = 'yri'
|
23
|
-
end
|