yard 0.9.25 → 0.9.26
This diff has not been reviewed by any users.
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[](http://rubydoc.org/gems/yard/frames)
|
6
6
|
|
7
7
|
[](http://github.com/lsegal/yard/releases)
|
8
|
-
[](https://travis-ci.org/lsegal/yard)
|
9
9
|
[](https://coveralls.io/github/lsegal/yard)
|
10
10
|
[](#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.
|