solargraph 0.57.0 → 0.58.1
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/.gitattributes +2 -0
- data/.github/workflows/linting.yml +4 -2
- data/.github/workflows/plugins.yml +61 -27
- data/.github/workflows/rspec.yml +19 -4
- data/.github/workflows/typecheck.yml +2 -2
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +90 -1438
- data/CHANGELOG.md +30 -0
- data/Rakefile +1 -1
- data/bin/solargraph +3 -0
- data/lib/solargraph/api_map/constants.rb +107 -46
- data/lib/solargraph/api_map/index.rb +32 -8
- data/lib/solargraph/api_map/source_to_yard.rb +5 -2
- data/lib/solargraph/api_map/store.rb +22 -12
- data/lib/solargraph/api_map.rb +27 -33
- data/lib/solargraph/complex_type/type_methods.rb +5 -0
- data/lib/solargraph/complex_type/unique_type.rb +12 -5
- data/lib/solargraph/complex_type.rb +19 -2
- data/lib/solargraph/convention/active_support_concern.rb +1 -1
- data/lib/solargraph/convention/data_definition/data_definition_node.rb +1 -1
- data/lib/solargraph/diagnostics/rubocop_helpers.rb +4 -2
- data/lib/solargraph/doc_map.rb +9 -6
- data/lib/solargraph/environ.rb +1 -1
- data/lib/solargraph/equality.rb +1 -0
- data/lib/solargraph/gem_pins.rb +4 -0
- data/lib/solargraph/language_server/host.rb +10 -4
- data/lib/solargraph/language_server/message/text_document/definition.rb +2 -2
- data/lib/solargraph/language_server/message/text_document/formatting.rb +4 -1
- data/lib/solargraph/language_server/message/text_document/type_definition.rb +1 -1
- data/lib/solargraph/language_server/progress.rb +1 -1
- data/lib/solargraph/language_server/request.rb +3 -1
- data/lib/solargraph/library.rb +3 -3
- data/lib/solargraph/location.rb +1 -0
- data/lib/solargraph/page.rb +0 -1
- data/lib/solargraph/parser/flow_sensitive_typing.rb +1 -1
- data/lib/solargraph/parser/parser_gem/class_methods.rb +2 -12
- data/lib/solargraph/parser/parser_gem/node_methods.rb +1 -14
- data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +1 -0
- data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +64 -8
- data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +12 -3
- data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +4 -5
- data/lib/solargraph/pin/base.rb +29 -8
- data/lib/solargraph/pin/base_variable.rb +5 -3
- data/lib/solargraph/pin/block.rb +3 -2
- data/lib/solargraph/pin/callable.rb +6 -2
- data/lib/solargraph/pin/closure.rb +3 -7
- data/lib/solargraph/pin/delegated_method.rb +0 -1
- data/lib/solargraph/pin/local_variable.rb +0 -4
- data/lib/solargraph/pin/method.rb +20 -4
- data/lib/solargraph/pin/parameter.rb +6 -2
- data/lib/solargraph/pin/proxy_type.rb +4 -1
- data/lib/solargraph/pin/reference.rb +2 -11
- data/lib/solargraph/pin/search.rb +3 -0
- data/lib/solargraph/pin_cache.rb +5 -5
- data/lib/solargraph/position.rb +1 -0
- data/lib/solargraph/range.rb +4 -0
- data/lib/solargraph/rbs_map/conversions.rb +22 -1
- data/lib/solargraph/rbs_map/core_fills.rb +18 -0
- data/lib/solargraph/rbs_map/core_map.rb +11 -7
- data/lib/solargraph/rbs_map.rb +2 -2
- data/lib/solargraph/shell.rb +82 -1
- data/lib/solargraph/source/chain/call.rb +7 -3
- data/lib/solargraph/source/chain/constant.rb +3 -66
- data/lib/solargraph/source/chain/if.rb +1 -1
- data/lib/solargraph/source/chain/link.rb +1 -1
- data/lib/solargraph/source/chain/or.rb +1 -1
- data/lib/solargraph/source/chain.rb +2 -0
- data/lib/solargraph/source/encoding_fixes.rb +23 -23
- data/lib/solargraph/source.rb +1 -1
- data/lib/solargraph/source_map/clip.rb +17 -25
- data/lib/solargraph/source_map/mapper.rb +0 -2
- data/lib/solargraph/source_map.rb +8 -3
- data/lib/solargraph/type_checker/rules.rb +23 -9
- data/lib/solargraph/type_checker.rb +133 -71
- data/lib/solargraph/version.rb +5 -5
- data/lib/solargraph/workspace/config.rb +21 -3
- data/lib/solargraph/workspace/require_paths.rb +0 -1
- data/lib/solargraph/workspace.rb +14 -19
- data/lib/solargraph/yard_map/mapper/to_method.rb +2 -1
- data/lib/solargraph/yard_map/mapper/to_namespace.rb +1 -0
- data/lib/solargraph/yard_map/to_method.rb +2 -1
- data/lib/solargraph/yardoc.rb +27 -4
- data/rbs/fills/bundler/0/bundler.rbs +4271 -0
- data/rbs/fills/open3/0/open3.rbs +172 -0
- data/rbs/fills/rubygems/0/basic_specification.rbs +326 -0
- data/rbs/fills/rubygems/0/errors.rbs +364 -0
- data/rbs/fills/rubygems/0/spec_fetcher.rbs +107 -0
- data/rbs/fills/rubygems/0/specification.rbs +1753 -0
- data/rbs_collection.yaml +4 -4
- data/sig/shims/ast/0/node.rbs +5 -0
- data/sig/shims/ast/2.4/.rbs_meta.yaml +9 -0
- data/sig/shims/ast/2.4/ast.rbs +73 -0
- data/sig/shims/parser/3.2.0.1/manifest.yaml +7 -0
- data/sig/shims/parser/3.2.0.1/parser.rbs +201 -0
- data/sig/shims/parser/3.2.0.1/polyfill.rbs +4 -0
- data/solargraph.gemspec +15 -4
- metadata +67 -12
- data/lib/solargraph/parser/node_methods.rb +0 -97
- /data/rbs/fills/{tuple.rbs → tuple/tuple.rbs} +0 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# <!-- rdoc-file=lib/open3.rb -->
|
|
2
|
+
# Module Open3 supports creating child processes with access to their $stdin,
|
|
3
|
+
# $stdout, and $stderr streams.
|
|
4
|
+
#
|
|
5
|
+
# ## What's Here
|
|
6
|
+
#
|
|
7
|
+
# Each of these methods executes a given command in a new process or subshell,
|
|
8
|
+
# or multiple commands in new processes and/or subshells:
|
|
9
|
+
#
|
|
10
|
+
# * Each of these methods executes a single command in a process or subshell,
|
|
11
|
+
# accepts a string for input to $stdin, and returns string output from
|
|
12
|
+
# $stdout, $stderr, or both:
|
|
13
|
+
#
|
|
14
|
+
# * Open3.capture2: Executes the command; returns the string from $stdout.
|
|
15
|
+
# * Open3.capture2e: Executes the command; returns the string from merged
|
|
16
|
+
# $stdout and $stderr.
|
|
17
|
+
# * Open3.capture3: Executes the command; returns strings from $stdout and
|
|
18
|
+
# $stderr.
|
|
19
|
+
#
|
|
20
|
+
# * Each of these methods executes a single command in a process or subshell,
|
|
21
|
+
# and returns pipes for $stdin, $stdout, and/or $stderr:
|
|
22
|
+
#
|
|
23
|
+
# * Open3.popen2: Executes the command; returns pipes for $stdin and
|
|
24
|
+
# $stdout.
|
|
25
|
+
# * Open3.popen2e: Executes the command; returns pipes for $stdin and
|
|
26
|
+
# merged $stdout and $stderr.
|
|
27
|
+
# * Open3.popen3: Executes the command; returns pipes for $stdin, $stdout,
|
|
28
|
+
# and $stderr.
|
|
29
|
+
#
|
|
30
|
+
# * Each of these methods executes one or more commands in processes and/or
|
|
31
|
+
# subshells, returns pipes for the first $stdin, the last $stdout, or both:
|
|
32
|
+
#
|
|
33
|
+
# * Open3.pipeline_r: Returns a pipe for the last $stdout.
|
|
34
|
+
# * Open3.pipeline_rw: Returns pipes for the first $stdin and the last
|
|
35
|
+
# $stdout.
|
|
36
|
+
# * Open3.pipeline_w: Returns a pipe for the first $stdin.
|
|
37
|
+
# * Open3.pipeline_start: Does not wait for processes to complete.
|
|
38
|
+
# * Open3.pipeline: Waits for processes to complete.
|
|
39
|
+
#
|
|
40
|
+
# Each of the methods above accepts:
|
|
41
|
+
#
|
|
42
|
+
# * An optional hash of environment variable names and values; see [Execution
|
|
43
|
+
# Environment](rdoc-ref:Process@Execution+Environment).
|
|
44
|
+
# * A required string argument that is a `command_line` or `exe_path`; see
|
|
45
|
+
# [Argument command_line or
|
|
46
|
+
# exe_path](rdoc-ref:Process@Argument+command_line+or+exe_path).
|
|
47
|
+
# * An optional hash of execution options; see [Execution
|
|
48
|
+
# Options](rdoc-ref:Process@Execution+Options).
|
|
49
|
+
#
|
|
50
|
+
module Open3
|
|
51
|
+
# <!--
|
|
52
|
+
# rdoc-file=lib/open3.rb
|
|
53
|
+
# - Open3.capture2e([env, ] command_line, options = {}) -> [stdout_and_stderr_s, status]
|
|
54
|
+
# - Open3.capture2e([env, ] exe_path, *args, options = {}) -> [stdout_and_stderr_s, status]
|
|
55
|
+
# -->
|
|
56
|
+
# Basically a wrapper for Open3.popen3 that:
|
|
57
|
+
#
|
|
58
|
+
# * Creates a child process, by calling Open3.popen3 with the given arguments
|
|
59
|
+
# (except for certain entries in hash `options`; see below).
|
|
60
|
+
# * Returns as string `stdout_and_stderr_s` the merged standard output and
|
|
61
|
+
# standard error of the child process.
|
|
62
|
+
# * Returns as `status` a `Process::Status` object that represents the exit
|
|
63
|
+
# status of the child process.
|
|
64
|
+
#
|
|
65
|
+
# Returns the array `[stdout_and_stderr_s, status]`:
|
|
66
|
+
#
|
|
67
|
+
# stdout_and_stderr_s, status = Open3.capture2e('echo "Foo"')
|
|
68
|
+
# # => ["Foo\n", #<Process::Status: pid 2371692 exit 0>]
|
|
69
|
+
#
|
|
70
|
+
# Like Process.spawn, this method has potential security vulnerabilities if
|
|
71
|
+
# called with untrusted input; see [Command
|
|
72
|
+
# Injection](rdoc-ref:command_injection.rdoc@Command+Injection).
|
|
73
|
+
#
|
|
74
|
+
# Unlike Process.spawn, this method waits for the child process to exit before
|
|
75
|
+
# returning, so the caller need not do so.
|
|
76
|
+
#
|
|
77
|
+
# If the first argument is a hash, it becomes leading argument `env` in the call
|
|
78
|
+
# to Open3.popen3; see [Execution
|
|
79
|
+
# Environment](rdoc-ref:Process@Execution+Environment).
|
|
80
|
+
#
|
|
81
|
+
# If the last argument is a hash, it becomes trailing argument `options` in the
|
|
82
|
+
# call to Open3.popen3; see [Execution
|
|
83
|
+
# Options](rdoc-ref:Process@Execution+Options).
|
|
84
|
+
#
|
|
85
|
+
# The hash `options` is given; two options have local effect in method
|
|
86
|
+
# Open3.capture2e:
|
|
87
|
+
#
|
|
88
|
+
# * If entry `options[:stdin_data]` exists, the entry is removed and its
|
|
89
|
+
# string value is sent to the command's standard input:
|
|
90
|
+
#
|
|
91
|
+
# Open3.capture2e('tee', stdin_data: 'Foo')
|
|
92
|
+
# # => ["Foo", #<Process::Status: pid 2371732 exit 0>]
|
|
93
|
+
#
|
|
94
|
+
# * If entry `options[:binmode]` exists, the entry is removed and the internal
|
|
95
|
+
# streams are set to binary mode.
|
|
96
|
+
#
|
|
97
|
+
# The single required argument is one of the following:
|
|
98
|
+
#
|
|
99
|
+
# * `command_line` if it is a string, and if it begins with a shell reserved
|
|
100
|
+
# word or special built-in, or if it contains one or more metacharacters.
|
|
101
|
+
# * `exe_path` otherwise.
|
|
102
|
+
#
|
|
103
|
+
# **Argument `command_line`**
|
|
104
|
+
#
|
|
105
|
+
# String argument `command_line` is a command line to be passed to a shell; it
|
|
106
|
+
# must begin with a shell reserved word, begin with a special built-in, or
|
|
107
|
+
# contain meta characters:
|
|
108
|
+
#
|
|
109
|
+
# Open3.capture2e('if true; then echo "Foo"; fi') # Shell reserved word.
|
|
110
|
+
# # => ["Foo\n", #<Process::Status: pid 2371740 exit 0>]
|
|
111
|
+
# Open3.capture2e('echo') # Built-in.
|
|
112
|
+
# # => ["\n", #<Process::Status: pid 2371774 exit 0>]
|
|
113
|
+
# Open3.capture2e('date > date.tmp') # Contains meta character.
|
|
114
|
+
# # => ["", #<Process::Status: pid 2371812 exit 0>]
|
|
115
|
+
#
|
|
116
|
+
# The command line may also contain arguments and options for the command:
|
|
117
|
+
#
|
|
118
|
+
# Open3.capture2e('echo "Foo"')
|
|
119
|
+
# # => ["Foo\n", #<Process::Status: pid 2326183 exit 0>]
|
|
120
|
+
#
|
|
121
|
+
# **Argument `exe_path`**
|
|
122
|
+
#
|
|
123
|
+
# Argument `exe_path` is one of the following:
|
|
124
|
+
#
|
|
125
|
+
# * The string path to an executable to be called.
|
|
126
|
+
# * A 2-element array containing the path to an executable and the string to
|
|
127
|
+
# be used as the name of the executing process.
|
|
128
|
+
#
|
|
129
|
+
# Example:
|
|
130
|
+
#
|
|
131
|
+
# Open3.capture2e('/usr/bin/date')
|
|
132
|
+
# # => ["Sat Sep 30 09:01:46 AM CDT 2023\n", #<Process::Status: pid 2371820 exit 0>]
|
|
133
|
+
#
|
|
134
|
+
# Ruby invokes the executable directly, with no shell and no shell expansion:
|
|
135
|
+
#
|
|
136
|
+
# Open3.capture2e('doesnt_exist') # Raises Errno::ENOENT
|
|
137
|
+
#
|
|
138
|
+
# If one or more `args` is given, each is an argument or option to be passed to
|
|
139
|
+
# the executable:
|
|
140
|
+
#
|
|
141
|
+
# Open3.capture2e('echo', 'C #')
|
|
142
|
+
# # => ["C #\n", #<Process::Status: pid 2371856 exit 0>]
|
|
143
|
+
# Open3.capture2e('echo', 'hello', 'world')
|
|
144
|
+
# # => ["hello world\n", #<Process::Status: pid 2371894 exit 0>]
|
|
145
|
+
#
|
|
146
|
+
def self.capture2e: (*String, ?stdin_data: String, ?chdir: String, ?binmode: boolish) -> [String, Process::Status]
|
|
147
|
+
| (Hash[String, String] env, *String cmds, ?chdir: String, ?stdin_data: String, ?binmode: boolish) -> [String, Process::Status]
|
|
148
|
+
|
|
149
|
+
def self.capture2: (?Hash[String, String] env, *String cmds, ?chdir: String) -> [String, Process::Status]
|
|
150
|
+
|
|
151
|
+
def self.capture3: (?Hash[String, String] env, *String cmds, ?chdir: String) -> [String, String, Process::Status]
|
|
152
|
+
|
|
153
|
+
def self.pipeline: (?Hash[String, String] env, *String cmds, ?chdir: String) -> Array[Process::Status]
|
|
154
|
+
|
|
155
|
+
def self.pipeline_r: (?Hash[String, String] env, *String cmds, ?chdir: String) -> [IO, Process::Waiter]
|
|
156
|
+
|
|
157
|
+
def self.pipeline_rw: (?Hash[String, String] env, *String cmds, ?chdir: String) -> [IO, IO, Process::Waiter]
|
|
158
|
+
|
|
159
|
+
def self.pipeline_start: (?Hash[String, String] env, *String cmds, ?chdir: String) -> Array[Process::Waiter]
|
|
160
|
+
|
|
161
|
+
def self.pipeline_w: (?Hash[String, String] env, *String cmds, ?chdir: String) -> [IO, Process::Waiter]
|
|
162
|
+
|
|
163
|
+
def self.popen2: (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) -> [IO, IO, Process::Waiter]
|
|
164
|
+
| [U] (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) { (IO stdin, IO stdout, Process::Waiter wait_thread) -> U } -> U
|
|
165
|
+
|
|
166
|
+
def self.popen2e: (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) -> [IO, IO, Process::Waiter]
|
|
167
|
+
| [U] (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) { (IO stdin, IO stdout_and_stderr, Process::Waiter wait_thread) -> U } -> U
|
|
168
|
+
|
|
169
|
+
def self.popen3: (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) -> [IO, IO, IO, Process::Waiter]
|
|
170
|
+
| [U] (?Hash[String, String] env, *String exe_path_or_cmd_with_args, ?chdir: String) { (IO stdin, IO stdout, IO stderr, Process::Waiter wait_thread) -> U } -> U
|
|
171
|
+
|
|
172
|
+
end
|
|
@@ -0,0 +1,326 @@
|
|
|
1
|
+
# <!-- rdoc-file=lib/rubygems/basic_specification.rb -->
|
|
2
|
+
# BasicSpecification is an abstract class which implements some common code used
|
|
3
|
+
# by both Specification and StubSpecification.
|
|
4
|
+
#
|
|
5
|
+
class Gem::BasicSpecification
|
|
6
|
+
@ignored: untyped
|
|
7
|
+
|
|
8
|
+
@extension_dir: untyped
|
|
9
|
+
|
|
10
|
+
@full_gem_path: untyped
|
|
11
|
+
|
|
12
|
+
@full_require_paths: untyped
|
|
13
|
+
|
|
14
|
+
@paths_map: untyped
|
|
15
|
+
|
|
16
|
+
@gem_dir: untyped
|
|
17
|
+
|
|
18
|
+
attr_writer base_dir: untyped
|
|
19
|
+
|
|
20
|
+
attr_writer extension_dir: untyped
|
|
21
|
+
|
|
22
|
+
attr_writer ignored: untyped
|
|
23
|
+
|
|
24
|
+
# <!-- rdoc-file=lib/rubygems/basic_specification.rb -->
|
|
25
|
+
# The path this gemspec was loaded from. This attribute is not persisted.
|
|
26
|
+
#
|
|
27
|
+
attr_accessor loaded_from: untyped
|
|
28
|
+
|
|
29
|
+
attr_writer full_gem_path: untyped
|
|
30
|
+
|
|
31
|
+
# <!--
|
|
32
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
33
|
+
# - new()
|
|
34
|
+
# -->
|
|
35
|
+
#
|
|
36
|
+
def initialize: () -> void
|
|
37
|
+
|
|
38
|
+
# <!--
|
|
39
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
40
|
+
# - default_specifications_dir()
|
|
41
|
+
# -->
|
|
42
|
+
#
|
|
43
|
+
def self.default_specifications_dir: () -> untyped
|
|
44
|
+
|
|
45
|
+
extend Gem::Deprecate
|
|
46
|
+
|
|
47
|
+
def gem_build_complete_path: () -> untyped
|
|
48
|
+
|
|
49
|
+
# <!--
|
|
50
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
51
|
+
# - activated?()
|
|
52
|
+
# -->
|
|
53
|
+
# True when the gem has been activated
|
|
54
|
+
#
|
|
55
|
+
def activated?: () -> untyped
|
|
56
|
+
|
|
57
|
+
# <!--
|
|
58
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
59
|
+
# - base_dir()
|
|
60
|
+
# -->
|
|
61
|
+
# Returns the full path to the base gem directory.
|
|
62
|
+
#
|
|
63
|
+
# eg: /usr/local/lib/ruby/gems/1.8
|
|
64
|
+
#
|
|
65
|
+
def base_dir: () -> untyped
|
|
66
|
+
|
|
67
|
+
# <!--
|
|
68
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
69
|
+
# - contains_requirable_file?(file)
|
|
70
|
+
# -->
|
|
71
|
+
# Return true if this spec can require `file`.
|
|
72
|
+
#
|
|
73
|
+
def contains_requirable_file?: (untyped file) -> (false | untyped)
|
|
74
|
+
|
|
75
|
+
# <!--
|
|
76
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
77
|
+
# - ignored?()
|
|
78
|
+
# -->
|
|
79
|
+
# Return true if this spec should be ignored because it's missing extensions.
|
|
80
|
+
#
|
|
81
|
+
def ignored?: () -> untyped
|
|
82
|
+
|
|
83
|
+
# <!--
|
|
84
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
85
|
+
# - default_gem?()
|
|
86
|
+
# -->
|
|
87
|
+
#
|
|
88
|
+
def default_gem?: () -> untyped
|
|
89
|
+
|
|
90
|
+
# <!--
|
|
91
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
92
|
+
# - default_gem_priority()
|
|
93
|
+
# -->
|
|
94
|
+
# Regular gems take precedence over default gems
|
|
95
|
+
#
|
|
96
|
+
def default_gem_priority: () -> (1 | -1)
|
|
97
|
+
|
|
98
|
+
# <!--
|
|
99
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
100
|
+
# - base_dir_priority(gem_path)
|
|
101
|
+
# -->
|
|
102
|
+
# Gems higher up in `gem_path` take precedence
|
|
103
|
+
#
|
|
104
|
+
def base_dir_priority: (untyped gem_path) -> untyped
|
|
105
|
+
|
|
106
|
+
# <!--
|
|
107
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
108
|
+
# - extension_dir()
|
|
109
|
+
# -->
|
|
110
|
+
# Returns full path to the directory where gem's extensions are installed.
|
|
111
|
+
#
|
|
112
|
+
def extension_dir: () -> untyped
|
|
113
|
+
|
|
114
|
+
# <!--
|
|
115
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
116
|
+
# - extensions_dir()
|
|
117
|
+
# -->
|
|
118
|
+
# Returns path to the extensions directory.
|
|
119
|
+
#
|
|
120
|
+
def extensions_dir: () -> untyped
|
|
121
|
+
|
|
122
|
+
private
|
|
123
|
+
|
|
124
|
+
def find_full_gem_path: () -> untyped
|
|
125
|
+
|
|
126
|
+
public
|
|
127
|
+
|
|
128
|
+
# <!--
|
|
129
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
130
|
+
# - full_gem_path()
|
|
131
|
+
# -->
|
|
132
|
+
# The full path to the gem (install path + full name).
|
|
133
|
+
#
|
|
134
|
+
# TODO: This is duplicated with #gem_dir. Eventually either of them should be
|
|
135
|
+
# deprecated.
|
|
136
|
+
#
|
|
137
|
+
def full_gem_path: () -> untyped
|
|
138
|
+
|
|
139
|
+
# <!--
|
|
140
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
141
|
+
# - full_name()
|
|
142
|
+
# -->
|
|
143
|
+
# Returns the full name (name-version) of this Gem. Platform information is
|
|
144
|
+
# included (name-version-platform) if it is specified and not the default Ruby
|
|
145
|
+
# platform.
|
|
146
|
+
#
|
|
147
|
+
def full_name: () -> ::String
|
|
148
|
+
|
|
149
|
+
# <!--
|
|
150
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
151
|
+
# - full_name_with_location()
|
|
152
|
+
# -->
|
|
153
|
+
# Returns the full name of this Gem (see `Gem::BasicSpecification#full_name`).
|
|
154
|
+
# Information about where the gem is installed is also included if not installed
|
|
155
|
+
# in the default GEM_HOME.
|
|
156
|
+
#
|
|
157
|
+
def full_name_with_location: () -> (::String | untyped)
|
|
158
|
+
|
|
159
|
+
# <!--
|
|
160
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
161
|
+
# - full_require_paths()
|
|
162
|
+
# -->
|
|
163
|
+
# Full paths in the gem to add to `$LOAD_PATH` when this gem is activated.
|
|
164
|
+
#
|
|
165
|
+
def full_require_paths: () -> untyped
|
|
166
|
+
|
|
167
|
+
# <!--
|
|
168
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
169
|
+
# - datadir()
|
|
170
|
+
# -->
|
|
171
|
+
# The path to the data directory for this gem.
|
|
172
|
+
#
|
|
173
|
+
def datadir: () -> untyped
|
|
174
|
+
|
|
175
|
+
# <!--
|
|
176
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
177
|
+
# - to_fullpath(path)
|
|
178
|
+
# -->
|
|
179
|
+
# Full path of the target library file. If the file is not in this gem, return
|
|
180
|
+
# nil.
|
|
181
|
+
#
|
|
182
|
+
def to_fullpath: (untyped path) -> (untyped | nil)
|
|
183
|
+
|
|
184
|
+
# <!--
|
|
185
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
186
|
+
# - gem_dir()
|
|
187
|
+
# -->
|
|
188
|
+
# Returns the full path to this spec's gem directory. eg:
|
|
189
|
+
# /usr/local/lib/ruby/1.8/gems/mygem-1.0
|
|
190
|
+
#
|
|
191
|
+
# TODO: This is duplicated with #full_gem_path. Eventually either of them should
|
|
192
|
+
# be deprecated.
|
|
193
|
+
#
|
|
194
|
+
def gem_dir: () -> untyped
|
|
195
|
+
|
|
196
|
+
# <!--
|
|
197
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
198
|
+
# - gems_dir()
|
|
199
|
+
# -->
|
|
200
|
+
# Returns the full path to the gems directory containing this spec's gem
|
|
201
|
+
# directory. eg: /usr/local/lib/ruby/1.8/gems
|
|
202
|
+
#
|
|
203
|
+
def gems_dir: () -> untyped
|
|
204
|
+
|
|
205
|
+
def internal_init: () -> untyped
|
|
206
|
+
|
|
207
|
+
# <!--
|
|
208
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
209
|
+
# - name()
|
|
210
|
+
# -->
|
|
211
|
+
# Name of the gem
|
|
212
|
+
#
|
|
213
|
+
def name: () -> untyped
|
|
214
|
+
|
|
215
|
+
# <!--
|
|
216
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
217
|
+
# - platform()
|
|
218
|
+
# -->
|
|
219
|
+
# Platform of the gem
|
|
220
|
+
#
|
|
221
|
+
def platform: () -> untyped
|
|
222
|
+
|
|
223
|
+
def raw_require_paths: () -> untyped
|
|
224
|
+
|
|
225
|
+
# <!--
|
|
226
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
227
|
+
# - require_paths()
|
|
228
|
+
# -->
|
|
229
|
+
# Paths in the gem to add to `$LOAD_PATH` when this gem is activated.
|
|
230
|
+
#
|
|
231
|
+
# See also #require_paths=
|
|
232
|
+
#
|
|
233
|
+
# If you have an extension you do not need to add `"ext"` to the require path,
|
|
234
|
+
# the extension build process will copy the extension files into "lib" for you.
|
|
235
|
+
#
|
|
236
|
+
# The default value is `"lib"`
|
|
237
|
+
#
|
|
238
|
+
# Usage:
|
|
239
|
+
#
|
|
240
|
+
# # If all library files are in the root directory...
|
|
241
|
+
# spec.require_path = '.'
|
|
242
|
+
#
|
|
243
|
+
def require_paths: () -> untyped
|
|
244
|
+
|
|
245
|
+
# <!--
|
|
246
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
247
|
+
# - source_paths()
|
|
248
|
+
# -->
|
|
249
|
+
# Returns the paths to the source files for use with analysis and documentation
|
|
250
|
+
# tools. These paths are relative to full_gem_path.
|
|
251
|
+
#
|
|
252
|
+
def source_paths: () -> untyped
|
|
253
|
+
|
|
254
|
+
# <!--
|
|
255
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
256
|
+
# - matches_for_glob(glob)
|
|
257
|
+
# -->
|
|
258
|
+
# Return all files in this gem that match for `glob`.
|
|
259
|
+
#
|
|
260
|
+
def matches_for_glob: (untyped glob) -> untyped
|
|
261
|
+
|
|
262
|
+
# <!--
|
|
263
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
264
|
+
# - plugins()
|
|
265
|
+
# -->
|
|
266
|
+
# Returns the list of plugins in this spec.
|
|
267
|
+
#
|
|
268
|
+
def plugins: () -> untyped
|
|
269
|
+
|
|
270
|
+
# <!--
|
|
271
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
272
|
+
# - lib_dirs_glob()
|
|
273
|
+
# -->
|
|
274
|
+
# Returns a string usable in Dir.glob to match all requirable paths for this
|
|
275
|
+
# spec.
|
|
276
|
+
#
|
|
277
|
+
def lib_dirs_glob: () -> ::String
|
|
278
|
+
|
|
279
|
+
# <!--
|
|
280
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
281
|
+
# - to_spec()
|
|
282
|
+
# -->
|
|
283
|
+
# Return a Gem::Specification from this gem
|
|
284
|
+
#
|
|
285
|
+
def to_spec: () -> untyped
|
|
286
|
+
|
|
287
|
+
# <!--
|
|
288
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
289
|
+
# - version()
|
|
290
|
+
# -->
|
|
291
|
+
# Version of the gem
|
|
292
|
+
#
|
|
293
|
+
def version: () -> untyped
|
|
294
|
+
|
|
295
|
+
# <!--
|
|
296
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
297
|
+
# - stubbed?()
|
|
298
|
+
# -->
|
|
299
|
+
# Whether this specification is stubbed - i.e. we have information about the gem
|
|
300
|
+
# from a stub line, without having to evaluate the entire gemspec file.
|
|
301
|
+
#
|
|
302
|
+
def stubbed?: () -> untyped
|
|
303
|
+
|
|
304
|
+
# <!--
|
|
305
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
306
|
+
# - this()
|
|
307
|
+
# -->
|
|
308
|
+
#
|
|
309
|
+
def this: () -> self
|
|
310
|
+
|
|
311
|
+
private
|
|
312
|
+
|
|
313
|
+
# <!--
|
|
314
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
315
|
+
# - have_extensions?()
|
|
316
|
+
# -->
|
|
317
|
+
#
|
|
318
|
+
def have_extensions?: () -> untyped
|
|
319
|
+
|
|
320
|
+
# <!--
|
|
321
|
+
# rdoc-file=lib/rubygems/basic_specification.rb
|
|
322
|
+
# - have_file?(file, suffixes)
|
|
323
|
+
# -->
|
|
324
|
+
#
|
|
325
|
+
def have_file?: (untyped file, untyped suffixes) -> (true | untyped)
|
|
326
|
+
end
|