yard 0.9.25 → 0.9.26
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of yard might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.dockerignore +0 -0
- data/.gitattributes +4 -0
- data/.github/FUNDING.yml +3 -0
- data/.github/ISSUE_TEMPLATE.md +6 -6
- data/.github/PULL_REQUEST_TEMPLATE.md +5 -5
- data/.github/workflows/ci.yml +12 -0
- data/.github/workflows/gem.yml +27 -0
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +0 -0
- data/.travis.yml +0 -3
- data/.yardopts +0 -0
- data/.yardopts_guide +0 -0
- data/.yardopts_i18n +0 -0
- data/CHANGELOG.md +8 -1
- data/CONTRIBUTING.md +2 -2
- data/Gemfile +2 -1
- data/README.md +1 -1
- data/lib/yard/code_objects/method_object.rb +1 -1
- data/lib/yard/handlers/c/base.rb +164 -164
- data/lib/yard/handlers/ruby/mixin_handler.rb +4 -1
- data/lib/yard/parser/source_parser.rb +1 -1
- data/lib/yard/server/commands/base.rb +2 -2
- data/lib/yard/templates/section.rb +1 -3
- data/lib/yard/version.rb +1 -1
- data/samus.json +15 -46
- data/templates/default/fulldoc/html/css/style.css +1 -0
- data/yard.gemspec +0 -1
- metadata +7 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b26148831eae874a1a8f704e19bb86e0f3924ba3482337edfe70d1a1c320a00b
|
4
|
+
data.tar.gz: 60d089381ca93b8b7b732317eafe7da0f56fbd727effaca34a52d1040a217e09
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e298247ed74a5db2d7f561feaaa6d84a19914c91bc4b9b7e701fa1e33efd7d07e9284eab6c6aad03b61e89268bb105e01a5dcd88beccaf212507cee794d161d
|
7
|
+
data.tar.gz: 9207539dc74b76b2f02a384ed97bafafc13a2b42dab3cb5130d927bc3a6c53976e802856d2be6c6f566f7811ca33eaa5c2c52a1357df8d950402fa2d949d7005
|
data/.dockerignore
CHANGED
File without changes
|
data/.gitattributes
ADDED
data/.github/FUNDING.yml
ADDED
data/.github/ISSUE_TEMPLATE.md
CHANGED
@@ -22,12 +22,12 @@ visual issues.]
|
|
22
22
|
|
23
23
|
## Environment details:
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
- OS: [Enter operating system / version here]
|
26
|
+
- Ruby version (`ruby -v`): [Enter output of `ruby -v`]
|
27
|
+
- YARD version (`yard -v`): [Enter output of `yard -v`]
|
28
|
+
- Relevant software dependency/versions:
|
29
|
+
- [Any 3rd party libs required to reproduce, omit if none]
|
30
30
|
|
31
31
|
I have read the [Contributing Guide][contrib].
|
32
32
|
|
33
|
-
[contrib]: https://github.com/lsegal/yard/blob/
|
33
|
+
[contrib]: https://github.com/lsegal/yard/blob/main/CONTRIBUTING.md
|
@@ -4,9 +4,9 @@ Describe your pull request and problem statement here.
|
|
4
4
|
|
5
5
|
# Completed Tasks
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
- [ ] I have read the [Contributing Guide][contrib].
|
8
|
+
- [ ] The pull request is complete (implemented / written).
|
9
|
+
- [ ] Git commits have been cleaned up (squash WIP / revert commits).
|
10
|
+
- [ ] I wrote tests and ran `bundle exec rake` locally (if code is attached to PR).
|
11
11
|
|
12
|
-
[contrib]: https://github.com/lsegal/yard/blob/
|
12
|
+
[contrib]: https://github.com/lsegal/yard/blob/main/CONTRIBUTING.md
|
data/.github/workflows/ci.yml
CHANGED
@@ -28,3 +28,15 @@ jobs:
|
|
28
28
|
bundle exec rake
|
29
29
|
env:
|
30
30
|
CI: true
|
31
|
+
build_ruby3:
|
32
|
+
name: "Ruby: 3.0 OS: Linux"
|
33
|
+
runs-on: ubuntu-latest
|
34
|
+
container: ruby:3.0-rc-alpine
|
35
|
+
steps:
|
36
|
+
- uses: actions/checkout@v2
|
37
|
+
- run: apk add -U build-base
|
38
|
+
- run: gem update --system --no-document --conservative
|
39
|
+
- run: bundle install --jobs=3 --retry=3
|
40
|
+
- run: ruby -v && bundle exec rake
|
41
|
+
env:
|
42
|
+
CI: true
|
@@ -0,0 +1,27 @@
|
|
1
|
+
name: Release Version
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- "v*"
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
release_version:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v1
|
13
|
+
- id: tag
|
14
|
+
run: echo ::set-output name=TAG::$(echo $GITHUB_REF | cut -d / -f 3)
|
15
|
+
- run: ruby -e 'tag=ENV["GITHUB_REF"].sub("refs/tags/", "").sub("v", "v?");puts File.read("CHANGELOG.md")[/#\s+#{tag}[^\r\n]+\r?\n(.+?)(^#|\Z)/mi,1].strip' > extracted_changelog.md
|
16
|
+
- name: Create Release
|
17
|
+
uses: actions/create-release@v1
|
18
|
+
env:
|
19
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
20
|
+
with:
|
21
|
+
tag_name: ${{ steps.tag.outputs.TAG }}
|
22
|
+
release_name: Release ${{ steps.tag.outputs.TAG }}
|
23
|
+
body_path: extracted_changelog.md
|
24
|
+
- name: Publish RubyGem
|
25
|
+
uses: dawidd6/action-publish-gem@v1
|
26
|
+
with:
|
27
|
+
api_key: ${{secrets.RUBYGEMS_API_KEY}}
|
data/.gitignore
CHANGED
File without changes
|
data/.rspec
CHANGED
File without changes
|
data/.rubocop.yml
CHANGED
File without changes
|
data/.travis.yml
CHANGED
data/.yardopts
CHANGED
File without changes
|
data/.yardopts_guide
CHANGED
File without changes
|
data/.yardopts_i18n
CHANGED
File without changes
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
#
|
1
|
+
# main
|
2
|
+
|
3
|
+
# 0.9.26 - December 26th, 2020
|
4
|
+
|
5
|
+
[0.9.26]: https://github.com/lsegal/yard/compare/v0.9.25...v0.9.26
|
6
|
+
|
7
|
+
- Add support for Ruby 3.0 and fix tests
|
8
|
+
- Fix support for `frozen_string_literal: false` magic comments (#1363)
|
2
9
|
|
3
10
|
# 0.9.25 - May 3rd, 2020
|
4
11
|
|
data/CONTRIBUTING.md
CHANGED
@@ -42,7 +42,7 @@ If you believe you have found a bug, please include a few things in your report:
|
|
42
42
|
if the behavior is intentional or not.
|
43
43
|
|
44
44
|
Finally, please **DO NOT** submit a report that states a feature simply
|
45
|
-
|
45
|
+
_"does not work"_ without any additional information in the report. Consider
|
46
46
|
the issue from the maintainer's perspective: in order to fix your bug, we
|
47
47
|
need to drill down to the broken line of code, and in order to do this,
|
48
48
|
we must be able to reproduce the issue on our end to find that line of
|
@@ -132,7 +132,7 @@ help handle day-to-day operations, such as releases, bug fixes, and triage.
|
|
132
132
|
You can do some of this as a non-maintainer too, but if you like this project,
|
133
133
|
we can always use more hands on deck!
|
134
134
|
|
135
|
-
[code]: https://github.com/lsegal/yard/blob/
|
135
|
+
[code]: https://github.com/lsegal/yard/blob/main/CODE_OF_CONDUCT.md
|
136
136
|
[issues]: http://github.com/lsegal/yard/issues
|
137
137
|
[commit]: http://chris.beams.io/posts/git-commit/
|
138
138
|
[pr]: https://help.github.com/articles/using-pull-requests/
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
[![Documentation](https://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://rubydoc.org/gems/yard/frames)
|
6
6
|
|
7
7
|
[![Gem Version](https://badge.fury.io/rb/yard.svg)](http://github.com/lsegal/yard/releases)
|
8
|
-
[![Build Status](https://travis-ci.org/lsegal/yard.svg?branch=
|
8
|
+
[![Build Status](https://travis-ci.org/lsegal/yard.svg?branch=main)](https://travis-ci.org/lsegal/yard)
|
9
9
|
[![Coverage Status](https://coveralls.io/repos/github/lsegal/yard/badge.svg)](https://coveralls.io/github/lsegal/yard)
|
10
10
|
[![License](https://img.shields.io/badge/license-MIT-yellowgreen.svg)](#license)
|
11
11
|
|
@@ -145,7 +145,7 @@ module YARD::CodeObjects
|
|
145
145
|
end
|
146
146
|
|
147
147
|
# Returns all alias names of the object
|
148
|
-
# @return [Array<
|
148
|
+
# @return [Array<MethodObject>] the alias names
|
149
149
|
def aliases
|
150
150
|
list = []
|
151
151
|
return list unless namespace.is_a?(NamespaceObject)
|
data/lib/yard/handlers/c/base.rb
CHANGED
@@ -1,164 +1,164 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module YARD
|
3
|
-
module Handlers
|
4
|
-
module C
|
5
|
-
class Base < Handlers::Base
|
6
|
-
include YARD::Parser::C
|
7
|
-
include HandlerMethods
|
8
|
-
|
9
|
-
# @return [Boolean] whether the handler handles this statement
|
10
|
-
def self.handles?(statement, processor)
|
11
|
-
processor.globals.cruby_processed_files ||= {}
|
12
|
-
processor.globals.cruby_processed_files[processor.file] = true
|
13
|
-
|
14
|
-
src = statement.respond_to?(:declaration) ?
|
15
|
-
statement.declaration : statement.source
|
16
|
-
|
17
|
-
handlers.any? do |a_handler|
|
18
|
-
statement_class >= statement.class &&
|
19
|
-
case a_handler
|
20
|
-
when String
|
21
|
-
src == a_handler
|
22
|
-
when Regexp
|
23
|
-
src =~ a_handler
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.statement_class(type = nil)
|
29
|
-
if type
|
30
|
-
@statement_class = type
|
31
|
-
else
|
32
|
-
(defined?(@statement_class) && @statement_class) || Statement
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
# @group Registering objects
|
37
|
-
|
38
|
-
def register_docstring(object, docstring = nil, stmt = nil)
|
39
|
-
super(object, docstring, stmt) if docstring
|
40
|
-
end
|
41
|
-
|
42
|
-
def register_file_info(object, file = nil, line = nil, comments = nil)
|
43
|
-
super(object, file, line, comments) if file
|
44
|
-
end
|
45
|
-
|
46
|
-
def register_source(object, source = nil, type = nil)
|
47
|
-
super(object, source, type) if source
|
48
|
-
end
|
49
|
-
|
50
|
-
def register_visibility(object, visibility = nil)
|
51
|
-
super(object, visibility) if visibility
|
52
|
-
end
|
53
|
-
|
54
|
-
# @group Looking up Symbol and Var Values
|
55
|
-
|
56
|
-
def symbols
|
57
|
-
globals.cruby_symbols ||= {}
|
58
|
-
end
|
59
|
-
|
60
|
-
def override_comments
|
61
|
-
globals.cruby_override_comments ||= []
|
62
|
-
end
|
63
|
-
|
64
|
-
def namespace_for_variable(var)
|
65
|
-
return namespaces[var] if namespaces[var]
|
66
|
-
|
67
|
-
# The global variables for Ruby's core error classes does not
|
68
|
-
# represent their Ruby name. So we need to look up these names.
|
69
|
-
name = ERROR_CLASS_NAMES[var]
|
70
|
-
return P(name) if name
|
71
|
-
|
72
|
-
# Otherwise the name is inferred from the C variable name.
|
73
|
-
var = remove_var_prefix(var)
|
74
|
-
var.empty? ? nil : P(var)
|
75
|
-
end
|
76
|
-
|
77
|
-
def ensure_variable_defined!(var, max_retries = 1)
|
78
|
-
retries = 0
|
79
|
-
object = nil
|
80
|
-
|
81
|
-
loop do
|
82
|
-
object = namespace_for_variable(var)
|
83
|
-
break unless object.is_a?(Proxy)
|
84
|
-
|
85
|
-
raise NamespaceMissingError, object if retries > max_retries
|
86
|
-
log.debug "Missing namespace variable #{var} in file `#{parser.file}', moving it to the back of the line."
|
87
|
-
parser.parse_remaining_files
|
88
|
-
retries += 1
|
89
|
-
end
|
90
|
-
|
91
|
-
object
|
92
|
-
end
|
93
|
-
|
94
|
-
def namespaces
|
95
|
-
globals.cruby_namespaces ||= {}
|
96
|
-
end
|
97
|
-
|
98
|
-
def processed_files
|
99
|
-
globals.cruby_processed_files ||= {}
|
100
|
-
end
|
101
|
-
|
102
|
-
# @group Parsing an Inner Block
|
103
|
-
|
104
|
-
def parse_block(opts = {})
|
105
|
-
return if !statement.block || statement.block.empty?
|
106
|
-
push_state(opts) do
|
107
|
-
parser.process(statement.block)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
# @group Processing other files
|
112
|
-
|
113
|
-
def process_file(file, object)
|
114
|
-
file = File.cleanpath(file)
|
115
|
-
return if processed_files[file]
|
116
|
-
processed_files[file] = file
|
117
|
-
begin
|
118
|
-
log.debug "Processing embedded call to C source #{file}..."
|
119
|
-
globals.ordered_parser.files.delete(file) if globals.ordered_parser
|
120
|
-
parser.process(Parser::C::CParser.new(File.read(file), file).parse)
|
121
|
-
rescue Errno::ENOENT
|
122
|
-
log.warn "Missing source file `#{file}' when parsing #{object}"
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
# @endgroup
|
127
|
-
|
128
|
-
private
|
129
|
-
|
130
|
-
# Generated by update_error_map.rb (Copy+past results)
|
131
|
-
ERROR_CLASS_NAMES = {
|
132
|
-
'rb_eArgError' => 'ArgumentError',
|
133
|
-
'rb_eEncodingError' => 'EncodingError',
|
134
|
-
'rb_eException' => 'Exception',
|
135
|
-
'rb_eFatal' => 'fatal',
|
136
|
-
'rb_eFrozenError' => 'FrozenError',
|
137
|
-
'rb_eIndexError' => 'IndexError',
|
138
|
-
'rb_eInterrupt' => 'Interrupt',
|
139
|
-
'rb_eKeyError' => 'KeyError',
|
140
|
-
'rb_eLoadError' => 'LoadError',
|
141
|
-
'rb_eNameError' => 'NameError',
|
142
|
-
'rb_eNoMatchingPatternError' => 'NoMatchingPatternError',
|
143
|
-
'rb_eNoMemError' => 'NoMemoryError',
|
144
|
-
'rb_eNoMethodError' => 'NoMethodError',
|
145
|
-
'rb_eNotImpError' => 'NotImplementedError',
|
146
|
-
'rb_eRangeError' => 'RangeError',
|
147
|
-
'rb_eRuntimeError' => 'RuntimeError',
|
148
|
-
'rb_eScriptError' => 'ScriptError',
|
149
|
-
'rb_eSecurityError' => 'SecurityError',
|
150
|
-
'rb_eSignal' => 'SignalException',
|
151
|
-
'rb_eStandardError' => 'StandardError',
|
152
|
-
'rb_eSyntaxError' => 'SyntaxError',
|
153
|
-
'rb_eSystemCallError' => 'SystemCallError',
|
154
|
-
'rb_eSystemExit' => 'SystemExit',
|
155
|
-
'rb_eTypeError' => 'TypeError',
|
156
|
-
}
|
157
|
-
|
158
|
-
def remove_var_prefix(var)
|
159
|
-
var.gsub(/^rb_[mc]|^[a-z_]+/, '')
|
160
|
-
end
|
161
|
-
end
|
162
|
-
end
|
163
|
-
end
|
164
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module YARD
|
3
|
+
module Handlers
|
4
|
+
module C
|
5
|
+
class Base < Handlers::Base
|
6
|
+
include YARD::Parser::C
|
7
|
+
include HandlerMethods
|
8
|
+
|
9
|
+
# @return [Boolean] whether the handler handles this statement
|
10
|
+
def self.handles?(statement, processor)
|
11
|
+
processor.globals.cruby_processed_files ||= {}
|
12
|
+
processor.globals.cruby_processed_files[processor.file] = true
|
13
|
+
|
14
|
+
src = statement.respond_to?(:declaration) ?
|
15
|
+
statement.declaration : statement.source
|
16
|
+
|
17
|
+
handlers.any? do |a_handler|
|
18
|
+
statement_class >= statement.class &&
|
19
|
+
case a_handler
|
20
|
+
when String
|
21
|
+
src == a_handler
|
22
|
+
when Regexp
|
23
|
+
src =~ a_handler
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.statement_class(type = nil)
|
29
|
+
if type
|
30
|
+
@statement_class = type
|
31
|
+
else
|
32
|
+
(defined?(@statement_class) && @statement_class) || Statement
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# @group Registering objects
|
37
|
+
|
38
|
+
def register_docstring(object, docstring = nil, stmt = nil)
|
39
|
+
super(object, docstring, stmt) if docstring
|
40
|
+
end
|
41
|
+
|
42
|
+
def register_file_info(object, file = nil, line = nil, comments = nil)
|
43
|
+
super(object, file, line, comments) if file
|
44
|
+
end
|
45
|
+
|
46
|
+
def register_source(object, source = nil, type = nil)
|
47
|
+
super(object, source, type) if source
|
48
|
+
end
|
49
|
+
|
50
|
+
def register_visibility(object, visibility = nil)
|
51
|
+
super(object, visibility) if visibility
|
52
|
+
end
|
53
|
+
|
54
|
+
# @group Looking up Symbol and Var Values
|
55
|
+
|
56
|
+
def symbols
|
57
|
+
globals.cruby_symbols ||= {}
|
58
|
+
end
|
59
|
+
|
60
|
+
def override_comments
|
61
|
+
globals.cruby_override_comments ||= []
|
62
|
+
end
|
63
|
+
|
64
|
+
def namespace_for_variable(var)
|
65
|
+
return namespaces[var] if namespaces[var]
|
66
|
+
|
67
|
+
# The global variables for Ruby's core error classes does not
|
68
|
+
# represent their Ruby name. So we need to look up these names.
|
69
|
+
name = ERROR_CLASS_NAMES[var]
|
70
|
+
return P(name) if name
|
71
|
+
|
72
|
+
# Otherwise the name is inferred from the C variable name.
|
73
|
+
var = remove_var_prefix(var)
|
74
|
+
var.empty? ? nil : P(var)
|
75
|
+
end
|
76
|
+
|
77
|
+
def ensure_variable_defined!(var, max_retries = 1)
|
78
|
+
retries = 0
|
79
|
+
object = nil
|
80
|
+
|
81
|
+
loop do
|
82
|
+
object = namespace_for_variable(var)
|
83
|
+
break unless object.is_a?(Proxy)
|
84
|
+
|
85
|
+
raise NamespaceMissingError, object if retries > max_retries
|
86
|
+
log.debug "Missing namespace variable #{var} in file `#{parser.file}', moving it to the back of the line."
|
87
|
+
parser.parse_remaining_files
|
88
|
+
retries += 1
|
89
|
+
end
|
90
|
+
|
91
|
+
object
|
92
|
+
end
|
93
|
+
|
94
|
+
def namespaces
|
95
|
+
globals.cruby_namespaces ||= {}
|
96
|
+
end
|
97
|
+
|
98
|
+
def processed_files
|
99
|
+
globals.cruby_processed_files ||= {}
|
100
|
+
end
|
101
|
+
|
102
|
+
# @group Parsing an Inner Block
|
103
|
+
|
104
|
+
def parse_block(opts = {})
|
105
|
+
return if !statement.block || statement.block.empty?
|
106
|
+
push_state(opts) do
|
107
|
+
parser.process(statement.block)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
# @group Processing other files
|
112
|
+
|
113
|
+
def process_file(file, object)
|
114
|
+
file = File.cleanpath(file)
|
115
|
+
return if processed_files[file]
|
116
|
+
processed_files[file] = file
|
117
|
+
begin
|
118
|
+
log.debug "Processing embedded call to C source #{file}..."
|
119
|
+
globals.ordered_parser.files.delete(file) if globals.ordered_parser
|
120
|
+
parser.process(Parser::C::CParser.new(File.read(file), file).parse)
|
121
|
+
rescue Errno::ENOENT
|
122
|
+
log.warn "Missing source file `#{file}' when parsing #{object}"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
# @endgroup
|
127
|
+
|
128
|
+
private
|
129
|
+
|
130
|
+
# Generated by update_error_map.rb (Copy+past results)
|
131
|
+
ERROR_CLASS_NAMES = {
|
132
|
+
'rb_eArgError' => 'ArgumentError',
|
133
|
+
'rb_eEncodingError' => 'EncodingError',
|
134
|
+
'rb_eException' => 'Exception',
|
135
|
+
'rb_eFatal' => 'fatal',
|
136
|
+
'rb_eFrozenError' => 'FrozenError',
|
137
|
+
'rb_eIndexError' => 'IndexError',
|
138
|
+
'rb_eInterrupt' => 'Interrupt',
|
139
|
+
'rb_eKeyError' => 'KeyError',
|
140
|
+
'rb_eLoadError' => 'LoadError',
|
141
|
+
'rb_eNameError' => 'NameError',
|
142
|
+
'rb_eNoMatchingPatternError' => 'NoMatchingPatternError',
|
143
|
+
'rb_eNoMemError' => 'NoMemoryError',
|
144
|
+
'rb_eNoMethodError' => 'NoMethodError',
|
145
|
+
'rb_eNotImpError' => 'NotImplementedError',
|
146
|
+
'rb_eRangeError' => 'RangeError',
|
147
|
+
'rb_eRuntimeError' => 'RuntimeError',
|
148
|
+
'rb_eScriptError' => 'ScriptError',
|
149
|
+
'rb_eSecurityError' => 'SecurityError',
|
150
|
+
'rb_eSignal' => 'SignalException',
|
151
|
+
'rb_eStandardError' => 'StandardError',
|
152
|
+
'rb_eSyntaxError' => 'SyntaxError',
|
153
|
+
'rb_eSystemCallError' => 'SystemCallError',
|
154
|
+
'rb_eSystemExit' => 'SystemExit',
|
155
|
+
'rb_eTypeError' => 'TypeError',
|
156
|
+
}
|
157
|
+
|
158
|
+
def remove_var_prefix(var)
|
159
|
+
var.gsub(/^rb_[mc]|^[a-z_]+/, '')
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -2,6 +2,7 @@
|
|
2
2
|
# Handles the 'include' statement to mixin a module in the instance scope
|
3
3
|
class YARD::Handlers::Ruby::MixinHandler < YARD::Handlers::Ruby::Base
|
4
4
|
handles method_call(:include)
|
5
|
+
handles method_call(:prepend)
|
5
6
|
namespace_only
|
6
7
|
|
7
8
|
process do
|
@@ -34,7 +35,9 @@ class YARD::Handlers::Ruby::MixinHandler < YARD::Handlers::Ruby::Base
|
|
34
35
|
|
35
36
|
rec = recipient(mixin)
|
36
37
|
return if rec.nil? || rec.mixins(scope).include?(obj)
|
37
|
-
|
38
|
+
|
39
|
+
shift = statement.method_name(true) == :include ? :unshift : :push
|
40
|
+
rec.mixins(scope).send(shift, obj)
|
38
41
|
end
|
39
42
|
|
40
43
|
def recipient(mixin)
|
@@ -64,7 +64,7 @@ module YARD
|
|
64
64
|
class SourceParser
|
65
65
|
SHEBANG_LINE = /\A\s*#!\S+/
|
66
66
|
ENCODING_LINE = %r{\A(?:\s*#*!.*\r?\n)?\s*(?:#+|/\*+|//+).*coding\s*[:=]{1,2}\s*([a-z\d_\-]+)}i
|
67
|
-
FROZEN_STRING_LINE = /frozen(-|_)string(-|_)literal
|
67
|
+
FROZEN_STRING_LINE = /frozen(-|_)string(-|_)literal:\s+(true|false)/i
|
68
68
|
|
69
69
|
# The default glob of files to be parsed.
|
70
70
|
# @since 0.9.0
|
@@ -183,7 +183,7 @@ module YARD
|
|
183
183
|
self.body = "Not found: #{request.path}"
|
184
184
|
headers['Content-Type'] = 'text/plain'
|
185
185
|
headers['X-Cascade'] = 'pass'
|
186
|
-
headers
|
186
|
+
headers['Cache-Control'] = 'nocache'
|
187
187
|
end
|
188
188
|
|
189
189
|
# Sets the headers and status code for a redirection to a given URL
|
@@ -201,7 +201,7 @@ module YARD
|
|
201
201
|
# requests served with "?1234567890" style timestamp query strings.
|
202
202
|
def add_cache_control
|
203
203
|
return if request.query_string.to_i == 0
|
204
|
-
headers['Cache-Control']
|
204
|
+
headers['Cache-Control'] ||= 'public, max-age=300'
|
205
205
|
end
|
206
206
|
end
|
207
207
|
end
|
data/lib/yard/version.rb
CHANGED
data/samus.json
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
"actions": [
|
3
3
|
{
|
4
4
|
"action": "fs-sedfiles",
|
5
|
-
"files": [
|
5
|
+
"files": [
|
6
|
+
"lib/*/version.rb"
|
7
|
+
],
|
6
8
|
"arguments": {
|
7
9
|
"search": "VERSION = ['\"](.+?)['\"]",
|
8
10
|
"replace": "VERSION = '$version'"
|
@@ -10,23 +12,31 @@
|
|
10
12
|
},
|
11
13
|
{
|
12
14
|
"action": "chmod-files",
|
13
|
-
"files": [
|
15
|
+
"files": [
|
16
|
+
"**/*,644",
|
17
|
+
"bin/*,755"
|
18
|
+
]
|
14
19
|
},
|
15
20
|
{
|
16
21
|
"action": "changelog-rotate",
|
17
|
-
"files": [
|
22
|
+
"files": [
|
23
|
+
"CHANGELOG.md"
|
24
|
+
],
|
18
25
|
"arguments": {
|
19
26
|
"title_format": "$version - %B %-d$day_nth, %Y"
|
20
27
|
}
|
21
28
|
},
|
22
29
|
{
|
23
30
|
"action": "git-commit",
|
24
|
-
"files": [
|
31
|
+
"files": [
|
32
|
+
"CHANGELOG.md",
|
33
|
+
"lib/*/version.rb"
|
34
|
+
]
|
25
35
|
},
|
26
36
|
{
|
27
37
|
"action": "git-merge",
|
28
38
|
"arguments": {
|
29
|
-
"branch": "
|
39
|
+
"branch": "main"
|
30
40
|
}
|
31
41
|
},
|
32
42
|
{
|
@@ -34,47 +44,6 @@
|
|
34
44
|
},
|
35
45
|
{
|
36
46
|
"action": "rake-task"
|
37
|
-
},
|
38
|
-
{
|
39
|
-
"action": "archive-git-full",
|
40
|
-
"files": ["git.tgz"],
|
41
|
-
"publish": [
|
42
|
-
{
|
43
|
-
"action": "git-push",
|
44
|
-
"credentials": "lsegal.github.ssh",
|
45
|
-
"arguments": {
|
46
|
-
"remotes": "origin",
|
47
|
-
"refs": "master v$version"
|
48
|
-
}
|
49
|
-
}
|
50
|
-
]
|
51
|
-
},
|
52
|
-
{
|
53
|
-
"action": "gem-build",
|
54
|
-
"files": ["*.gemspec"],
|
55
|
-
"publish": [
|
56
|
-
{
|
57
|
-
"action": "gem-push",
|
58
|
-
"files": ["*.gem"],
|
59
|
-
"credentials": "lsegal.rubygems"
|
60
|
-
}
|
61
|
-
]
|
62
|
-
},
|
63
|
-
{
|
64
|
-
"action": "changelog-parse",
|
65
|
-
"files": ["CHANGELOG.md"],
|
66
|
-
"publish": [
|
67
|
-
{
|
68
|
-
"action": "github-release",
|
69
|
-
"credentials": "lsegal.github",
|
70
|
-
"files": [],
|
71
|
-
"arguments": {
|
72
|
-
"repository": "lsegal/yard",
|
73
|
-
"tag": "v$version",
|
74
|
-
"changelog": "CHANGELOG.md"
|
75
|
-
}
|
76
|
-
}
|
77
|
-
]
|
78
47
|
}
|
79
48
|
]
|
80
49
|
}
|
data/yard.gemspec
CHANGED
@@ -11,7 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
custom Ruby constructs such as custom class level definitions.
|
12
12
|
eof
|
13
13
|
s.version = YARD::VERSION
|
14
|
-
s.date = Time.now.strftime('%Y-%m-%d')
|
15
14
|
s.author = "Loren Segal"
|
16
15
|
s.email = "lsegal@soen.ca"
|
17
16
|
s.homepage = "http://yardoc.org"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.26
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Loren Segal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: |2
|
14
14
|
YARD is a documentation generation tool for the Ruby programming language.
|
@@ -24,9 +24,12 @@ extensions: []
|
|
24
24
|
extra_rdoc_files: []
|
25
25
|
files:
|
26
26
|
- ".dockerignore"
|
27
|
+
- ".gitattributes"
|
28
|
+
- ".github/FUNDING.yml"
|
27
29
|
- ".github/ISSUE_TEMPLATE.md"
|
28
30
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
29
31
|
- ".github/workflows/ci.yml"
|
32
|
+
- ".github/workflows/gem.yml"
|
30
33
|
- ".gitignore"
|
31
34
|
- ".rspec"
|
32
35
|
- ".rubocop.yml"
|
@@ -445,7 +448,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
445
448
|
- !ruby/object:Gem::Version
|
446
449
|
version: '0'
|
447
450
|
requirements: []
|
448
|
-
|
451
|
+
rubyforge_project:
|
452
|
+
rubygems_version: 2.7.6
|
449
453
|
signing_key:
|
450
454
|
specification_version: 4
|
451
455
|
summary: Documentation tool for consistent and usable documentation in Ruby.
|