solargraph 0.48.0 → 0.49.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/FUNDING.yml +1 -0
  3. data/.github/workflows/rspec.yml +1 -1
  4. data/CHANGELOG.md +9 -0
  5. data/LICENSE +1 -1
  6. data/SPONSORS.md +2 -4
  7. data/lib/solargraph/api_map/store.rb +13 -1
  8. data/lib/solargraph/api_map.rb +30 -12
  9. data/lib/solargraph/cache.rb +51 -0
  10. data/lib/solargraph/complex_type/type_methods.rb +3 -6
  11. data/lib/solargraph/complex_type/unique_type.rb +57 -0
  12. data/lib/solargraph/complex_type.rb +20 -1
  13. data/lib/solargraph/convention/rakefile.rb +17 -0
  14. data/lib/solargraph/convention.rb +2 -0
  15. data/lib/solargraph/diagnostics/rubocop.rb +15 -2
  16. data/lib/solargraph/diagnostics/rubocop_helpers.rb +3 -1
  17. data/lib/solargraph/language_server/host.rb +22 -18
  18. data/lib/solargraph/language_server/message/extended/download_core.rb +1 -5
  19. data/lib/solargraph/language_server/message/initialize.rb +2 -0
  20. data/lib/solargraph/language_server/message/text_document/formatting.rb +1 -1
  21. data/lib/solargraph/language_server/message/text_document/signature_help.rb +1 -6
  22. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +10 -3
  23. data/lib/solargraph/library.rb +21 -20
  24. data/lib/solargraph/parser/rubyvm/class_methods.rb +6 -1
  25. data/lib/solargraph/parser/rubyvm/node_processors/def_node.rb +20 -8
  26. data/lib/solargraph/parser/rubyvm/node_processors/defs_node.rb +14 -3
  27. data/lib/solargraph/parser/rubyvm/node_processors/send_node.rb +4 -2
  28. data/lib/solargraph/parser/rubyvm/node_wrapper.rb +47 -0
  29. data/lib/solargraph/pin/base.rb +5 -2
  30. data/lib/solargraph/pin/conversions.rb +2 -6
  31. data/lib/solargraph/pin/method.rb +84 -10
  32. data/lib/solargraph/pin/namespace.rb +4 -1
  33. data/lib/solargraph/pin/parameter.rb +8 -3
  34. data/lib/solargraph/pin/signature.rb +23 -0
  35. data/lib/solargraph/pin.rb +1 -0
  36. data/lib/solargraph/rbs_map/conversions.rb +394 -0
  37. data/lib/solargraph/rbs_map/core_fills.rb +61 -0
  38. data/lib/solargraph/rbs_map/core_map.rb +38 -0
  39. data/lib/solargraph/rbs_map/core_signs.rb +33 -0
  40. data/lib/solargraph/rbs_map/stdlib_map.rb +36 -0
  41. data/lib/solargraph/rbs_map.rb +73 -0
  42. data/lib/solargraph/shell.rb +38 -30
  43. data/lib/solargraph/source/chain/call.rb +30 -22
  44. data/lib/solargraph/source/chain.rb +21 -6
  45. data/lib/solargraph/source_map/clip.rb +5 -0
  46. data/lib/solargraph/source_map/mapper.rb +2 -0
  47. data/lib/solargraph/type_checker.rb +71 -65
  48. data/lib/solargraph/version.rb +1 -1
  49. data/lib/solargraph/views/environment.erb +2 -2
  50. data/lib/solargraph/workspace.rb +11 -14
  51. data/lib/solargraph/yard_map/mapper/to_method.rb +7 -4
  52. data/lib/solargraph/yard_map.rb +7 -148
  53. data/lib/solargraph.rb +2 -2
  54. data/solargraph.gemspec +8 -6
  55. metadata +43 -36
  56. data/lib/solargraph/compat.rb +0 -37
  57. data/lib/solargraph/yard_map/core_docs.rb +0 -170
  58. data/lib/solargraph/yard_map/core_fills.rb +0 -208
  59. data/lib/solargraph/yard_map/core_gen.rb +0 -76
  60. data/lib/solargraph/yard_map/rdoc_to_yard.rb +0 -143
  61. data/lib/solargraph/yard_map/stdlib_fills.rb +0 -43
  62. data/yardoc/2.2.2.tar.gz +0 -0
@@ -13,34 +13,13 @@ module Solargraph
13
13
  class NoYardocError < StandardError; end
14
14
 
15
15
  autoload :Cache, 'solargraph/yard_map/cache'
16
- autoload :CoreDocs, 'solargraph/yard_map/core_docs'
17
- autoload :CoreGen, 'solargraph/yard_map/core_gen'
18
16
  autoload :Mapper, 'solargraph/yard_map/mapper'
19
17
  autoload :RdocToYard, 'solargraph/yard_map/rdoc_to_yard'
20
- autoload :CoreFills, 'solargraph/yard_map/core_fills'
21
- autoload :StdlibFills, 'solargraph/yard_map/stdlib_fills'
22
18
  autoload :Helpers, 'solargraph/yard_map/helpers'
23
19
  autoload :ToMethod, 'solargraph/yard_map/to_method'
24
20
 
25
21
  include ApiMap::BundlerMethods
26
22
 
27
- CoreDocs.require_minimum
28
-
29
- def stdlib_paths
30
- @@stdlib_paths ||= begin
31
- result = {}
32
- YARD::Registry.load! CoreDocs.yardoc_stdlib_file
33
- YARD::Registry.all.each do |co|
34
- next if co.file.nil?
35
- path = co.file.sub(/^(ext|lib)\//, '').sub(/\.(rb|c)$/, '')
36
- base = path.split('/').first
37
- result[base] ||= []
38
- result[base].push co
39
- end
40
- result
41
- end
42
- end
43
-
44
23
  # @return [Boolean]
45
24
  attr_writer :with_dependencies
46
25
 
@@ -80,6 +59,7 @@ module Solargraph
80
59
  @rebindable_method_names = nil
81
60
  @pin_class_hash = nil
82
61
  @pin_select_cache = {}
62
+ pins.each { |p| p.source = :yard }
83
63
  true
84
64
  end
85
65
 
@@ -126,12 +106,6 @@ module Solargraph
126
106
  nil
127
107
  end
128
108
 
129
- # @return [Array<Solargraph::Pin::Base>]
130
- def core_pins
131
- # Using a class variable to reduce loads
132
- @@core_pins ||= load_core_pins
133
- end
134
-
135
109
  # @param path [String]
136
110
  # @return [Pin::Base]
137
111
  def path_pin path
@@ -155,10 +129,6 @@ module Solargraph
155
129
  nil
156
130
  end
157
131
 
158
- def stdlib_pins
159
- @stdlib_pins ||= []
160
- end
161
-
162
132
  def base_required
163
133
  @base_required ||= Set.new
164
134
  end
@@ -199,10 +169,9 @@ module Solargraph
199
169
  def process_requires
200
170
  @gemset = process_gemsets
201
171
  required.merge @gemset.keys if required.include?('bundler/require')
202
- pins.replace core_pins
172
+ pins.clear
203
173
  unresolved_requires.clear
204
174
  missing_docs.clear
205
- stdlib_pins.clear
206
175
  environ = Convention.for_global(self)
207
176
  done = []
208
177
  already_errored = []
@@ -234,14 +203,10 @@ module Solargraph
234
203
  base = req.split('/').first
235
204
  return if already_errored.include?(base)
236
205
  already_errored.push base
237
- stdtmp = load_stdlib_pins(base)
238
206
  if yd.nil?
239
207
  missing_docs.push req
240
- elsif stdtmp.empty?
241
- unresolved_requires.push req
242
208
  else
243
- stdlib_pins.concat stdtmp
244
- result.concat stdtmp
209
+ unresolved_requires.push req
245
210
  end
246
211
  end
247
212
 
@@ -288,22 +253,8 @@ module Solargraph
288
253
  def process_yardoc y, spec = nil
289
254
  return [] if y.nil?
290
255
  if spec
291
- ser = File.join(CoreDocs.cache_dir, 'gems', "#{spec.name}-#{spec.version}.ser")
292
- if File.file?(ser)
293
- Solargraph.logger.info "Loading #{spec.name} #{spec.version} from cache"
294
- file = File.open(ser, 'rb')
295
- dump = file.read
296
- file.close
297
- begin
298
- result = Marshal.load(dump)
299
- return result unless result.nil? || result.empty?
300
- Solargraph.logger.warn "Empty cache for #{spec.name} #{spec.version}. Reloading"
301
- File.unlink ser
302
- rescue StandardError => e
303
- Solargraph.logger.warn "Error loading pin cache: [#{e.class}] #{e.message}"
304
- File.unlink ser
305
- end
306
- end
256
+ cache = Solargraph::Cache.load('gems', "#{spec.name}-#{spec.version}.ser")
257
+ return cache if cache
307
258
  end
308
259
  size = Dir.glob(File.join(y, '**', '*'))
309
260
  .map{ |f| File.size(f) }
@@ -317,10 +268,7 @@ module Solargraph
317
268
  result = Mapper.new(YARD::Registry.all, spec).map
318
269
  raise NoYardocError, "Yardoc at #{y} is empty" if result.empty?
319
270
  if spec
320
- ser = File.join(CoreDocs.cache_dir, 'gems', "#{spec.name}-#{spec.version}.ser")
321
- file = File.open(ser, 'wb')
322
- file.write Marshal.dump(result)
323
- file.close
271
+ Solargraph::Cache.save 'gems', "#{spec.name}-#{spec.version}.ser", result
324
272
  end
325
273
  result
326
274
  end
@@ -328,13 +276,7 @@ module Solargraph
328
276
  # @param spec [Gem::Specification]
329
277
  # @return [String]
330
278
  def yardoc_file_for_spec spec
331
- cache_dir = File.join(Solargraph::YardMap::CoreDocs.cache_dir, 'gems', "#{spec.name}-#{spec.version}", 'yardoc')
332
- if File.exist?(cache_dir)
333
- Solargraph.logger.info "Using cached documentation for #{spec.name} at #{cache_dir}"
334
- cache_dir
335
- else
336
- YARD::Registry.yardoc_file_for_gem(spec.name, "= #{spec.version}")
337
- end
279
+ YARD::Registry.yardoc_file_for_gem(spec.name, "= #{spec.version}")
338
280
  end
339
281
 
340
282
  # @param path [String]
@@ -355,88 +297,5 @@ module Solargraph
355
297
  end
356
298
  spec
357
299
  end
358
-
359
- def load_core_pins
360
- yd = CoreDocs.yardoc_file
361
- ser = File.join(File.dirname(yd), 'core.ser')
362
- result = if File.file?(ser)
363
- file = File.open(ser, 'rb')
364
- dump = file.read
365
- file.close
366
- begin
367
- Marshal.load(dump)
368
- rescue StandardError => e
369
- Solargraph.logger.warn "Error loading core pin cache: [#{e.class}] #{e.message}"
370
- File.unlink ser
371
- read_core_and_save_cache(yd, ser)
372
- end
373
- else
374
- read_core_and_save_cache(yd, ser)
375
- end
376
- ApiMap::Store.new(result + CoreFills::ALL).pins.reject { |pin| pin.is_a?(Pin::Reference::Override) }
377
- end
378
-
379
- def read_core_and_save_cache yd, ser
380
- result = []
381
- load_yardoc yd
382
- result.concat Mapper.new(YARD::Registry.all).map
383
- # HACK: Assume core methods with a single `args` parameter accept restarg
384
- result.select { |pin| pin.is_a?(Solargraph::Pin::Method )}.each do |pin|
385
- if pin.parameters.length == 1 && pin.parameters.first.name == 'args' && pin.parameters.first.decl == :arg
386
- # @todo Smelly instance variable access
387
- pin.parameters.first.instance_variable_set(:@decl, :restarg)
388
- end
389
- end
390
- # HACK: Set missing parameters on `==` methods, e.g., `Symbol#==`
391
- result.select { |pin| pin.name == '==' && pin.parameters.empty? }.each do |pin|
392
- pin.parameters.push Pin::Parameter.new(decl: :arg, name: 'obj2')
393
- end
394
- dump = Marshal.dump(result)
395
- file = File.open(ser, 'wb')
396
- file.write dump
397
- file.close
398
- result
399
- end
400
-
401
- def load_stdlib_pins base
402
- ser = File.join(File.dirname(CoreDocs.yardoc_stdlib_file), "#{base}.ser")
403
- result = if File.file?(ser)
404
- Solargraph.logger.info "Loading #{base} stdlib from cache"
405
- file = File.open(ser, 'rb')
406
- dump = file.read
407
- file.close
408
- begin
409
- Marshal.load(dump)
410
- rescue StandardError => e
411
- Solargraph.logger.warn "Error loading #{base} stdlib pin cache: [#{e.class}] #{e.message}"
412
- File.unlink ser
413
- read_stdlib_and_save_cache(base, ser)
414
- end
415
- else
416
- read_stdlib_and_save_cache(base, ser)
417
- end
418
- fills = StdlibFills.get(base)
419
- unless fills.empty?
420
- result = ApiMap::Store.new(result + fills).pins.reject { |pin| pin.is_a?(Pin::Reference::Override) }
421
- end
422
- result
423
- end
424
-
425
- def read_stdlib_and_save_cache base, ser
426
- result = []
427
- if stdlib_paths[base]
428
- Solargraph.logger.info "Loading #{base} stdlib from yardoc"
429
- result.concat Mapper.new(stdlib_paths[base]).map
430
- unless result.empty?
431
- dump = Marshal.dump(result)
432
- file = File.open(ser, 'wb')
433
- file.write dump
434
- file.close
435
- end
436
- end
437
- result
438
- end
439
300
  end
440
301
  end
441
-
442
- Solargraph::YardMap::CoreDocs.require_minimum
data/lib/solargraph.rb CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  Encoding.default_external = 'UTF-8'
4
4
 
5
- require 'solargraph/compat'
6
5
  require 'solargraph/version'
7
6
 
8
7
  # The top-level namespace for the Solargraph code mapping, documentation,
@@ -41,9 +40,10 @@ module Solargraph
41
40
  autoload :Convention, 'solargraph/convention'
42
41
  autoload :Documentor, 'solargraph/documentor'
43
42
  autoload :Parser, 'solargraph/parser'
43
+ autoload :RbsMap, 'solargraph/rbs_map'
44
+ autoload :Cache, 'solargraph/cache'
44
45
 
45
46
  dir = File.dirname(__FILE__)
46
- YARDOC_PATH = File.realpath(File.join(dir, '..', 'yardoc'))
47
47
  YARD_EXTENSION_FILE = File.join(dir, 'yard-solargraph.rb')
48
48
  VIEWS_PATH = File.join(dir, 'solargraph', 'views')
49
49
 
data/solargraph.gemspec CHANGED
@@ -13,30 +13,32 @@ Gem::Specification.new do |s|
13
13
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
14
14
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
15
  end
16
- s.homepage = 'http://solargraph.org'
16
+ s.homepage = 'https://solargraph.org'
17
17
  s.license = 'MIT'
18
18
  s.executables = ['solargraph']
19
+ s.metadata["funding_uri"] = "https://www.patreon.com/castwide"
19
20
 
20
- s.required_ruby_version = '>= 2.4'
21
+ s.required_ruby_version = '>= 2.6'
21
22
 
22
23
  s.add_runtime_dependency 'backport', '~> 1.2'
23
24
  s.add_runtime_dependency 'benchmark'
24
- s.add_runtime_dependency 'bundler', '>= 1.17.2'
25
+ s.add_runtime_dependency 'bundler', '~> 2.0'
25
26
  s.add_runtime_dependency 'diff-lcs', '~> 1.4'
26
27
  s.add_runtime_dependency 'e2mmap'
27
28
  s.add_runtime_dependency 'jaro_winkler', '~> 1.5'
28
29
  s.add_runtime_dependency 'kramdown', '~> 2.3'
29
30
  s.add_runtime_dependency 'kramdown-parser-gfm', '~> 1.1'
30
31
  s.add_runtime_dependency 'parser', '~> 3.0'
31
- s.add_runtime_dependency 'reverse_markdown', '>= 1.0.5', '< 3'
32
- s.add_runtime_dependency 'rubocop', '>= 0.52'
32
+ s.add_runtime_dependency 'rbs', '~> 2.0'
33
+ s.add_runtime_dependency 'reverse_markdown', '~> 2.0'
34
+ s.add_runtime_dependency 'rubocop', '~> 1.38'
33
35
  s.add_runtime_dependency 'thor', '~> 1.0'
34
36
  s.add_runtime_dependency 'tilt', '~> 2.0'
35
37
  s.add_runtime_dependency 'yard', '~> 0.9', '>= 0.9.24'
36
38
 
37
39
  s.add_development_dependency 'pry'
38
40
  s.add_development_dependency 'public_suffix', '~> 3.1'
39
- s.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
41
+ s.add_development_dependency 'rspec', '~> 3.5'
40
42
  s.add_development_dependency 'simplecov', '~> 0.14'
41
43
  s.add_development_dependency 'webmock', '~> 3.6'
42
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solargraph
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.48.0
4
+ version: 0.49.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fred Snyder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-19 00:00:00.000000000 Z
11
+ date: 2023-04-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: backport
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.17.2
47
+ version: '2.0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.17.2
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: diff-lcs
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -137,39 +137,47 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '3.0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: reverse_markdown
140
+ name: rbs
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: 1.0.5
146
- - - "<"
143
+ - - "~>"
147
144
  - !ruby/object:Gem::Version
148
- version: '3'
145
+ version: '2.0'
149
146
  type: :runtime
150
147
  prerelease: false
151
148
  version_requirements: !ruby/object:Gem::Requirement
152
149
  requirements:
153
- - - ">="
150
+ - - "~>"
154
151
  - !ruby/object:Gem::Version
155
- version: 1.0.5
156
- - - "<"
152
+ version: '2.0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: reverse_markdown
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
157
158
  - !ruby/object:Gem::Version
158
- version: '3'
159
+ version: '2.0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '2.0'
159
167
  - !ruby/object:Gem::Dependency
160
168
  name: rubocop
161
169
  requirement: !ruby/object:Gem::Requirement
162
170
  requirements:
163
- - - ">="
171
+ - - "~>"
164
172
  - !ruby/object:Gem::Version
165
- version: '0.52'
173
+ version: '1.38'
166
174
  type: :runtime
167
175
  prerelease: false
168
176
  version_requirements: !ruby/object:Gem::Requirement
169
177
  requirements:
170
- - - ">="
178
+ - - "~>"
171
179
  - !ruby/object:Gem::Version
172
- version: '0.52'
180
+ version: '1.38'
173
181
  - !ruby/object:Gem::Dependency
174
182
  name: thor
175
183
  requirement: !ruby/object:Gem::Requirement
@@ -253,9 +261,6 @@ dependencies:
253
261
  - - "~>"
254
262
  - !ruby/object:Gem::Version
255
263
  version: '3.5'
256
- - - ">="
257
- - !ruby/object:Gem::Version
258
- version: 3.5.0
259
264
  type: :development
260
265
  prerelease: false
261
266
  version_requirements: !ruby/object:Gem::Requirement
@@ -263,9 +268,6 @@ dependencies:
263
268
  - - "~>"
264
269
  - !ruby/object:Gem::Version
265
270
  version: '3.5'
266
- - - ">="
267
- - !ruby/object:Gem::Version
268
- version: 3.5.0
269
271
  - !ruby/object:Gem::Dependency
270
272
  name: simplecov
271
273
  requirement: !ruby/object:Gem::Requirement
@@ -301,6 +303,7 @@ executables:
301
303
  extensions: []
302
304
  extra_rdoc_files: []
303
305
  files:
306
+ - ".github/FUNDING.yml"
304
307
  - ".github/workflows/rspec.yml"
305
308
  - ".gitignore"
306
309
  - ".rspec"
@@ -321,7 +324,7 @@ files:
321
324
  - lib/solargraph/api_map/source_to_yard.rb
322
325
  - lib/solargraph/api_map/store.rb
323
326
  - lib/solargraph/bench.rb
324
- - lib/solargraph/compat.rb
327
+ - lib/solargraph/cache.rb
325
328
  - lib/solargraph/complex_type.rb
326
329
  - lib/solargraph/complex_type/type_methods.rb
327
330
  - lib/solargraph/complex_type/unique_type.rb
@@ -329,6 +332,7 @@ files:
329
332
  - lib/solargraph/convention/base.rb
330
333
  - lib/solargraph/convention/gemfile.rb
331
334
  - lib/solargraph/convention/gemspec.rb
335
+ - lib/solargraph/convention/rakefile.rb
332
336
  - lib/solargraph/convention/rspec.rb
333
337
  - lib/solargraph/converters/dd.rb
334
338
  - lib/solargraph/converters/dl.rb
@@ -463,6 +467,7 @@ files:
463
467
  - lib/solargraph/parser/rubyvm/node_processors/scope_node.rb
464
468
  - lib/solargraph/parser/rubyvm/node_processors/send_node.rb
465
469
  - lib/solargraph/parser/rubyvm/node_processors/sym_node.rb
470
+ - lib/solargraph/parser/rubyvm/node_wrapper.rb
466
471
  - lib/solargraph/parser/snippet.rb
467
472
  - lib/solargraph/pin.rb
468
473
  - lib/solargraph/pin/base.rb
@@ -493,10 +498,17 @@ files:
493
498
  - lib/solargraph/pin/reference/require.rb
494
499
  - lib/solargraph/pin/reference/superclass.rb
495
500
  - lib/solargraph/pin/search.rb
501
+ - lib/solargraph/pin/signature.rb
496
502
  - lib/solargraph/pin/singleton.rb
497
503
  - lib/solargraph/pin/symbol.rb
498
504
  - lib/solargraph/position.rb
499
505
  - lib/solargraph/range.rb
506
+ - lib/solargraph/rbs_map.rb
507
+ - lib/solargraph/rbs_map/conversions.rb
508
+ - lib/solargraph/rbs_map/core_fills.rb
509
+ - lib/solargraph/rbs_map/core_map.rb
510
+ - lib/solargraph/rbs_map/core_signs.rb
511
+ - lib/solargraph/rbs_map/stdlib_map.rb
500
512
  - lib/solargraph/server_methods.rb
501
513
  - lib/solargraph/shell.rb
502
514
  - lib/solargraph/source.rb
@@ -541,24 +553,19 @@ files:
541
553
  - lib/solargraph/workspace/config.rb
542
554
  - lib/solargraph/yard_map.rb
543
555
  - lib/solargraph/yard_map/cache.rb
544
- - lib/solargraph/yard_map/core_docs.rb
545
- - lib/solargraph/yard_map/core_fills.rb
546
- - lib/solargraph/yard_map/core_gen.rb
547
556
  - lib/solargraph/yard_map/helpers.rb
548
557
  - lib/solargraph/yard_map/mapper.rb
549
558
  - lib/solargraph/yard_map/mapper/to_constant.rb
550
559
  - lib/solargraph/yard_map/mapper/to_method.rb
551
560
  - lib/solargraph/yard_map/mapper/to_namespace.rb
552
- - lib/solargraph/yard_map/rdoc_to_yard.rb
553
- - lib/solargraph/yard_map/stdlib_fills.rb
554
561
  - lib/solargraph/yard_map/to_method.rb
555
562
  - lib/yard-solargraph.rb
556
563
  - solargraph.gemspec
557
- - yardoc/2.2.2.tar.gz
558
- homepage: http://solargraph.org
564
+ homepage: https://solargraph.org
559
565
  licenses:
560
566
  - MIT
561
- metadata: {}
567
+ metadata:
568
+ funding_uri: https://www.patreon.com/castwide
562
569
  post_install_message:
563
570
  rdoc_options: []
564
571
  require_paths:
@@ -567,7 +574,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
567
574
  requirements:
568
575
  - - ">="
569
576
  - !ruby/object:Gem::Version
570
- version: '2.4'
577
+ version: '2.6'
571
578
  required_rubygems_version: !ruby/object:Gem::Requirement
572
579
  requirements:
573
580
  - - ">="
@@ -1,37 +0,0 @@
1
- unless Hash.method_defined?(:transform_keys)
2
- class Hash
3
- def transform_keys &block
4
- result = {}
5
- each_pair do |k, v|
6
- result[block.call(k)] = v
7
- end
8
- result
9
- end
10
- end
11
- end
12
-
13
- unless Hash.method_defined?(:transform_values)
14
- class Hash
15
- def transform_values &block
16
- result = {}
17
- each_pair do |k, v|
18
- result[k] = block.call(v)
19
- end
20
- result
21
- end
22
- end
23
- end
24
-
25
- unless Array.method_defined?(:sum)
26
- class Array
27
- def sum &block
28
- inject(0) do |s, x|
29
- if block
30
- s + block.call(x)
31
- else
32
- s + x
33
- end
34
- end
35
- end
36
- end
37
- end