yard 0.9.26 → 0.9.37
Sign up to get free protection for your applications and to get access to all the features.
- 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
|